renovate
c1b34ff011
chore(deps): update dependency rust to v1.79.0 ( #3661 )
...
[](https://renovatebot.com )
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [rust](https://togithub.com/rust-lang/rust ) | minor | `1.78.0` -> `1.79.0` |
---
### Release Notes
<details>
<summary>rust-lang/rust (rust)</summary>
### [`v1.79.0`](https://togithub.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1790-2024-06-13 )
[Compare Source](https://togithub.com/rust-lang/rust/compare/1.78.0...1.79.0 )
\==========================
<a id="1.79.0-Language"></a>
## Language
- [Stabilize inline `const {}` expressions.](https://togithub.com/rust-lang/rust/pull/104087/ )
- [Prevent opaque types being instantiated twice with different regions within the same function.](https://togithub.com/rust-lang/rust/pull/116935/ )
- [Stabilize WebAssembly target features that are in phase 4 and 5.](https://togithub.com/rust-lang/rust/pull/117457/ )
- [Add the `redundant_lifetimes` lint to detect lifetimes which are semantically redundant.](https://togithub.com/rust-lang/rust/pull/118391/ )
- [Stabilize the `unnameable_types` lint for public types that can't be named.](https://togithub.com/rust-lang/rust/pull/120144/ )
- [Enable debuginfo in macros, and stabilize `-C collapse-macro-debuginfo` and `#[collapse_debuginfo]`.](https://togithub.com/rust-lang/rust/pull/120845/ )
- [Propagate temporary lifetime extension into `if` and `match` expressions.](https://togithub.com/rust-lang/rust/pull/121346/ )
- [Restrict promotion of `const fn` calls.](https://togithub.com/rust-lang/rust/pull/121557/ )
- [Warn against refining impls of crate-private traits with `refining_impl_trait` lint.](https://togithub.com/rust-lang/rust/pull/121720/ )
- [Stabilize associated type bounds (RFC 2289).](https://togithub.com/rust-lang/rust/pull/122055/ )
- [Stabilize importing `main` from other modules or crates.](https://togithub.com/rust-lang/rust/pull/122060/ )
- [Check return types of function types for well-formedness](https://togithub.com/rust-lang/rust/pull/115538 )
- [Rework `impl Trait` lifetime inference](https://togithub.com/rust-lang/rust/pull/116891/ )
- [Change inductive trait solver cycles to be ambiguous](https://togithub.com/rust-lang/rust/pull/122791 )
<a id="1.79.0-Compiler"></a>
## Compiler
- [Define `-C strip` to only affect binaries, not artifacts like `.pdb`.](https://togithub.com/rust-lang/rust/pull/115120/ )
- [Stabilize `-Crelro-level` for controlling runtime link hardening.](https://togithub.com/rust-lang/rust/pull/121694/ )
- [Stabilize checking of `cfg` names and values at compile-time with `--check-cfg`.](https://togithub.com/rust-lang/rust/pull/123501/ )
*Note that this only stabilizes the compiler part, the Cargo part is still unstable in this release.*
- [Add `aarch64-apple-visionos` and `aarch64-apple-visionos-sim` tier 3 targets.](https://togithub.com/rust-lang/rust/pull/121419/ )
- [Add `riscv32ima-unknown-none-elf` tier 3 target.](https://togithub.com/rust-lang/rust/pull/122696/ )
- [Promote several Windows targets to tier 2](https://togithub.com/rust-lang/rust/pull/121712 ): `aarch64-pc-windows-gnullvm`, `i686-pc-windows-gnullvm`, and `x86_64-pc-windows-gnullvm`.
Refer to Rust's \[platform support page]\[platform-support-doc]
for more information on Rust's tiered platform support.
<a id="1.79.0-Libraries"></a>
## Libraries
- [Implement `FromIterator` for `(impl Default + Extend, impl Default + Extend)`.](https://togithub.com/rust-lang/rust/pull/107462/ )
- [Implement `{Div,Rem}Assign<NonZero<X>>` on `X`.](https://togithub.com/rust-lang/rust/pull/121952/ )
- [Document overrides of `clone_from()` in core/std.](https://togithub.com/rust-lang/rust/pull/122201/ )
- [Link MSVC default lib in core.](https://togithub.com/rust-lang/rust/pull/122268/ )
- [Caution against using `transmute` between pointers and integers.](https://togithub.com/rust-lang/rust/pull/122379/ )
- [Enable frame pointers for the standard library.](https://togithub.com/rust-lang/rust/pull/122646/ )
<a id="1.79.0-Stabilized-APIs"></a>
## Stabilized APIs
- [`{integer}::unchecked_add`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_add )
- [`{integer}::unchecked_mul`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_mul )
- [`{integer}::unchecked_sub`](https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_sub )
- [`<[T]>::split_at_unchecked`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_unchecked )
- [`<[T]>::split_at_mut_unchecked`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut_unchecked )
- [`<[u8]>::utf8_chunks`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.utf8\_chunks )
- [`str::Utf8Chunks`](https://doc.rust-lang.org/stable/core/str/struct.Utf8Chunks.html )
- [`str::Utf8Chunk`](https://doc.rust-lang.org/stable/core/str/struct.Utf8Chunk.html )
- [`<*const T>::is_aligned`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_aligned )
- [`<*mut T>::is_aligned`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_aligned-1 )
- [`NonNull::is_aligned`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.is_aligned )
- [`<*const [T]>::len`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.len )
- [`<*mut [T]>::len`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.len-1 )
- [`<*const [T]>::is_empty`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_empty )
- [`<*mut [T]>::is_empty`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_empty-1 )
- [`NonNull::<[T]>::is_empty`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.is_empty )
- [`CStr::count_bytes`](https://doc.rust-lang.org/stable/core/ffi/c_str/struct.CStr.html#method.count_bytes )
- [`io::Error::downcast`](https://doc.rust-lang.org/stable/std/io/struct.Error.html#method.downcast )
- [`num::NonZero<T>`](https://doc.rust-lang.org/stable/core/num/struct.NonZero.html )
- [`path::absolute`](https://doc.rust-lang.org/stable/std/path/fn.absolute.html )
- [`proc_macro::Literal::byte_character`](https://doc.rust-lang.org/stable/proc_macro/struct.Literal.html#method.byte_character )
- [`proc_macro::Literal::c_string`](https://doc.rust-lang.org/stable/proc_macro/struct.Literal.html#method.c_string )
These APIs are now stable in const contexts:
- [`Atomic*::into_inner`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicUsize.html#method.into_inner )
- [`io::Cursor::new`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.new )
- [`io::Cursor::get_ref`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.get_ref )
- [`io::Cursor::position`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.position )
- [`io::empty`](https://doc.rust-lang.org/stable/std/io/fn.empty.html )
- [`io::repeat`](https://doc.rust-lang.org/stable/std/io/fn.repeat.html )
- [`io::sink`](https://doc.rust-lang.org/stable/std/io/fn.sink.html )
- [`panic::Location::caller`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.caller )
- [`panic::Location::file`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.file )
- [`panic::Location::line`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.line )
- [`panic::Location::column`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.column )
<a id="1.79.0-Cargo"></a>
## Cargo
- [Prevent dashes in `lib.name`, always normalizing to `_`.](https://togithub.com/rust-lang/cargo/pull/12783/ )
- [Stabilize MSRV-aware version requirement selection in `cargo add`.](https://togithub.com/rust-lang/cargo/pull/13608/ )
- [Switch to using `gitoxide` by default for listing files.](https://togithub.com/rust-lang/cargo/pull/13696/ )
- [Error on `[project]` in Edition 2024; `cargo fix --edition` will change it to `[package]`.](https://togithub.com/rust-lang/cargo/pull/13747/ )
<a id="1.79.0-Rustdoc"></a>
## Rustdoc
- [Always display stability version even if it's the same as the containing item.](https://togithub.com/rust-lang/rust/pull/118441/ )
- [Show a single search result for items with multiple paths.](https://togithub.com/rust-lang/rust/pull/119912/ )
- [Support typing `/` in docs to begin a search.](https://togithub.com/rust-lang/rust/pull/123355/ )
<a id="1.79.0-Misc"></a>
## Misc
<a id="1.79.0-Compatibility-Notes"></a>
## Compatibility Notes
- [Update the minimum external LLVM to 17.](https://togithub.com/rust-lang/rust/pull/122649/ )
- [`RustcEncodable` and `RustcDecodable` are soft-destabilized, to be removed
from the prelude in next edition.](https://togithub.com/rust-lang/rust/pull/116016/ )
- [The `wasm_c_abi` future-incompatibility lint will warn about use of the
non-spec-compliant C ABI.](https://togithub.com/rust-lang/rust/pull/117918/ )
Use `wasm-bindgen v0.2.88` to generate forward-compatible bindings.
- [Check return types of function types for well-formedness](https://togithub.com/rust-lang/rust/pull/115538 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View repository job log [here](https://developer.mend.io/github/oxc-project/oxc ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2024-06-14 02:28:06 +00:00
Boshen
7f8dd24d6a
chore: fix cargo doc
2024-06-14 09:21:14 +08:00
Boshen
c522796ade
feat(coverage): TypeScript transpile runner prototype ( #3660 )
2024-06-13 22:16:22 +08:00
Boshen
30dc17ea92
refactor(coverage): align to typescript's test harness ( #3659 )
...
refactor(coverage): align to typescript's test harness
feat(coverage): transpile_runner prototype
2024-06-13 13:17:46 +00:00
Boshen
022e8e759a
refactor(coverage): move test runners to their own modules ( #3658 )
2024-06-13 11:16:18 +00:00
rzvxa
9b3097147e
improvement(semantic/cfg): rework error path. ( #3519 )
...
This PR aims to provide a more accurate error/finalization flow, I've nuked the old error path approach and rewrote it with more versatility in mind.
We used to visit the finalizer block twice and create 2 sets of AstNodes/Basic Blocks for them, This was there to differentiate between the error path finalizer and success path one. There is no longer a need for having 2 separate sets of nodes to do this differentiation.
As for the error path now we have 2 kinds of them, Everything is attached to an error block - even if it is not in a try-catch statement - this results in a lot of extra edges to keep track of these "Implicit" error blocks but I believe in future it can help us to track cross block error paths, For example, we can dynamically attach and cache the implicit error block of a function to its call site error path (either implicit or explicit).
2024-06-13 07:36:16 +00:00
Boshen
c041e9d1a9
chore: bump test262, babel and TypeScript submodules ( #3644 )
2024-06-12 18:42:32 +08:00
Boshen
b58d8eb88f
fix!(codegen): remove the unecessary 4th argument from Codegen::new ( #3640 )
2024-06-12 07:58:54 +00:00
Boshen
f6752b482f
feat!(ast): make Trivias clonable by adding Arc ( #3638 )
...
This makes `Trivias` cloneable and stops us from using `Rc::new` and
`Rc::clone` everywhere.
`Trivias` is rarely cloned so an `Arc` should suffice.
2024-06-12 13:16:10 +08:00
Boshen
9698be5479
chore(coverage): ignore eval related code in codegen runtime ( #3628 )
...
Properly misconfigured test setup for `eval`, but can't figure out where
2024-06-11 15:23:36 +00:00
Boshen
1959930ee7
fix(coverage): fix clippy
2024-06-11 17:01:52 +08:00
Boshen
f9c08d1e28
feat(coverage): add --debug option for finding crash scene ( #3622 )
...
The `--debug` options turns off rayon and prints the paths so we can
find the crashing file by looking at the last printed out file.
closes #3497
2024-06-11 07:10:02 +00:00
Dunqing
5793ff1986
refactor(transformer): replace &’a Trivias with Rc<Trivias> ( #3580 )
...
`Transformer` needs to borrow `Trivias`.
8be1cc8052 (r1630711060)
2024-06-11 13:23:41 +08:00
Dunqing
a939ddd096
feat(transformer/typescript): remove more typescript ast nodes ( #3563 )
...
Remove more TypeScript related AST
2024-06-07 05:04:28 +00:00
Dunqing
5c8e16c976
feat(coverage): second transformer build does not print typescript ( #3561 )
...
Currently, we lack a test to check if the TS AST has been completely deleted. I have thought of a way to test it. Let's have our idempotency test print the TypeScript code the first time and the second time print the JavaScript code only. If the two results do not match, it means that there are still undeleted TS ASTs or other bugs. Since ideally the TS ASTs are completely deleted, the two results should be the same.
2024-06-07 05:04:25 +00:00
Dunqing
0007ee47be
chore(coverage, transformer_conformance): print all AST whether or not they are Typecript AST ( #3556 )
...
We have a conclusion that codegen will print whatever is in the AST,
instead of having an option to enable printing TypeScript syntax. I plan
to remove codegen's `enable_typescript` option after we strip out all
typescript AST in the transformer typescript plugin.
---------
Co-authored-by: Boshen <boshenc@gmail.com>
2024-06-06 15:45:20 +08:00
Dunqing
646b9937ee
feat(coverage/transformer): handle @jsx option ( #3553 )
...
if has`@jsx: react`, configure transformer options to match `@jsx: react` behavior
2024-06-06 05:34:22 +00:00
Dunqing
3ba2a932d6
refactor(coverage): use code without meta options in TypeScriptSuite ( #3552 )
...
The `@jsx: react` is a typescript option. The `Babel` typescript plugin handles @jsx as well, but this is different. `@jsx` in babel is a [pragma](https://babeljs.io/docs/babel-plugin-transform-react-jsx#pragma ) option. So we should use code without these meta options to avoid Babel parsing `@jsx` incorrectly
2024-06-06 05:34:18 +00:00
Dunqing
6978269be0
refactor(transformer/typescript): replace reference collector with symbols references ( #3533 )
...
https://github.com/oxc-project/oxc/pull/3524 handled the references correctly, now we can remove the reference collector.
2024-06-05 09:02:51 +00:00
Dunqing
ee9a215a21
feat(transformer/typescript): handle namespace directive correctly ( #3532 )
2024-06-05 09:02:49 +00:00
Dunqing
affb2c864e
fix(codegen): print indentation before directive ( #3512 )
2024-06-05 16:32:12 +08:00
Dunqing
d4588d7cac
chore(codegen): print typescript code for typescript files ( #3515 )
...
We should not print typescript code as javascript code. Forcing to print as JavaScript code may result in syntax errors. If we truly want javascript code, we can use the `oxc_transformer`.
2024-06-03 10:05:08 +00:00
Dunqing
9dc58d582d
refactor(transformer/typescript): use a memory-safe implementation instead ( #3481 )
...
The previous implementation causes memory double free, but I don't know why.
2024-05-31 11:15:35 +00:00
Dunqing
25e5bdda3c
fix(transformer/typescript) if this statement is typescript syntax, replace it with a BlockStatement ( #3480 )
2024-05-31 07:24:47 +00:00
Dunqing
574629e5de
feat(tasks/coverage): turn on idempotency testing for transformer ( #3470 )
2024-05-30 22:15:32 +08:00
Dunqing
350cd9158a
fix(parser): should parser error when function declaration has no name ( #3461 )
...
https://oxc-project.github.io/oxc/playground/?code=3YCAAICNgICAgICAgICzncl%2FKeF7k4Y7upgY2l43c79%2FYxaAgA%3D%3D
2024-05-30 19:58:50 +08:00
IWANABETHATGUY
0cdb45a1ff
feat(oxc_codegen): preserve annotate comment ( #3465 )
...
1. Copy tests from
efa3dd2d8e/internal/bundler_tests/bundler_dce_test.go (L3833-L3971)
2. Add option to preserve annotate comment like `/* #__NO_SIDE_EFFECTS__
*/` and `/* #__PURE__ */`
2024-05-30 15:25:23 +08:00
Dunqing
cf41513d28
fix(parser): parse const extends in arrow functions correctly ( #3450 )
...
close : #3443
2024-05-28 21:34:52 +08:00
Boshen
6078a6d292
fix(parser): fix lexer error while parsing parenthesized arrow expressions ( #3400 )
...
closes #3399
2024-05-24 09:59:17 +00:00
Boshen
e2dd8ac8fc
feat(syntax): export is_reserved_keyword and is_global_object method ( #3384 )
2024-05-22 04:58:04 +00:00
Boshen
1e84644220
chore: update toml format
2024-05-21 22:15:47 +08:00
Boshen
89a1f97320
refactor(parser): improve expression parsing ( #3352 )
2024-05-19 21:28:16 +08:00
Boshen
e818fba21c
refactor(parser): improve parse_simple_arrow_function_expression ( #3349 )
2024-05-19 06:05:39 +00:00
Boshen
d2e1dbc82a
perf(coverage): run test cases in parallel ( #3348 )
2024-05-19 03:24:08 +00:00
Boshen
899a52bf28
fix: fix some nightly warnings
2024-05-19 00:54:52 +08:00
Boshen
0742081921
refactor(parser): improve is_parenthesized_arrow_function_expression ( #3343 )
2024-05-18 16:39:51 +00:00
Boshen
9ced605487
refactor(parser): start porting arrow function parsing from tsc ( #3340 )
...
relates #3320
2024-05-18 22:35:29 +08:00
Dunqing
9ee962add8
feat(transformer): support from_babel_options in TransformOptions ( #3301 )
...
Move `BabelOptions` to Transformer. The `output.json` is a standard babel configuration. We can reuse BabelOptions to read [babel.config.json](https://babeljs.io/docs/configuration#babelconfigjson ) or our configuration(maybe oxc.config.json)
The current `from_babel_options` implementation is copied from the `transform_options` in `test_case.rs`, which I'll completely reimplement next
2024-05-16 10:10:39 +00:00
Don Isaac
a12ed0fd26
fix(codegen): using declaration in for statement ( #3285 )
...
Fixes conformance tests for `using` declarations in for statements, e.g.
```ts
for (using x = 1;;) {}
```
2024-05-14 23:10:47 -04:00
Boshen
530455849b
chore(tasks): add commit sha to snapshots to make sure submodules are not outdated ( #3267 )
...
If submodules are outdated, it'll panic with the following message
```
Repository is outdated, please run `just submodules` to update it.
```
For us maintainers, we'll need the env `UPDATE_SNAPSHOT` to force an update.
2024-05-14 10:18:00 +00:00
Boshen
c4ccf9f4d8
fix(parser): parse DecoratorCallExpression when Arguments contains MemberExpression ( #3265 )
...
closes #3261
closes #3262
```
DecoratorCallExpression[Yield, Await] :
DecoratorMemberExpression[?Yield, ?Await] Arguments[?Yield, ?Await]
```
2024-05-14 03:18:41 +00:00
Boshen
893af230c0
refactor: clean up more diagnostics usages
2024-05-12 21:46:03 +08:00
Boshen
dbde5b3a04
refactor(diagnostics): remove export of miette
2024-05-12 11:46:48 +08:00
Boshen
09f34fc942
refactor(semantic): unify diagnostic in checker
2024-05-12 01:07:28 +08:00
Boshen
2064ae9e0a
refactor(parser,diagnostic): one diagnostic struct to eliminate monomorphization of generic types ( #3214 )
...
part of #3213
We should only have one diagnostic struct instead 353 copies of them, so we don't end up choking LLVM with 50k lines of the same code due to monomorphization.
If the proposed approach is good, then I'll start writing a codemod to turn all the existing structs to plain functions.
---
Background:
Using `--timings`, we see `oxc_linter` is slow on codegen (the purple part).

The crate currently contains 353 miette errors. [cargo-llvm-lines](https://github.com/dtolnay/cargo-llvm-lines ) displays
```
cargo llvm-lines -p oxc_linter --lib --release
Lines Copies Function name
----- ------ -------------
830350 33438 (TOTAL)
29252 (3.5%, 3.5%) 808 (2.4%, 2.4%) <alloc::boxed::Box<T,A> as core::ops::drop::Drop>::drop
23298 (2.8%, 6.3%) 353 (1.1%, 3.5%) miette::eyreish::error::object_downcast
19062 (2.3%, 8.6%) 706 (2.1%, 5.6%) core::error::Error::type_id
12610 (1.5%, 10.1%) 65 (0.2%, 5.8%) alloc::raw_vec::RawVec<T,A>::grow_amortized
12002 (1.4%, 11.6%) 706 (2.1%, 7.9%) miette::eyreish::ptr::Own<T>::boxed
9215 (1.1%, 12.7%) 115 (0.3%, 8.2%) core::iter::traits::iterator::Iterator::try_fold
9150 (1.1%, 13.8%) 1 (0.0%, 8.2%) oxc_linter::rules::RuleEnum::read_json
8825 (1.1%, 14.9%) 353 (1.1%, 9.3%) <miette::eyreish::error::ErrorImpl<E> as core::error::Error>::source
8822 (1.1%, 15.9%) 353 (1.1%, 10.3%) miette::eyreish::error::<impl miette::eyreish::Report>::construct
8119 (1.0%, 16.9%) 353 (1.1%, 11.4%) miette::eyreish::error::object_ref
8119 (1.0%, 17.9%) 353 (1.1%, 12.5%) miette::eyreish::error::object_ref_stderr
7413 (0.9%, 18.8%) 353 (1.1%, 13.5%) <miette::eyreish::error::ErrorImpl<E> as core::fmt::Display>::fmt
7413 (0.9%, 19.7%) 353 (1.1%, 14.6%) miette::eyreish::ptr::Own<T>::new
6669 (0.8%, 20.5%) 39 (0.1%, 14.7%) alloc::raw_vec::RawVec<T,A>::try_allocate_in
6173 (0.7%, 21.2%) 353 (1.1%, 15.7%) miette::eyreish::error::<impl miette::eyreish::Report>::from_std
6027 (0.7%, 21.9%) 70 (0.2%, 16.0%) <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter
6001 (0.7%, 22.7%) 353 (1.1%, 17.0%) miette::eyreish::error::object_drop
6001 (0.7%, 23.4%) 353 (1.1%, 18.1%) miette::eyreish::error::object_drop_front
5648 (0.7%, 24.1%) 353 (1.1%, 19.1%) <miette::eyreish::error::ErrorImpl<E> as core::fmt::Debug>::fmt
```
It's totalling more than 50k llvm lines, and is putting pressure on rustc codegen (the purple part on `oxc_linter` in the image above.
---
It's pretty obvious by looking at https://github.com/zkat/miette/blob/main/src/eyreish/error.rs , the generics can expand out to lots of code.
2024-05-11 04:56:22 +00:00
Dunqing
0ba7778e5e
fix(parser): correctly parse cls.fn<C> = x ( #3208 )
...
close : #3206
2024-05-09 10:23:45 +08:00
Dunqing
a227050ed0
chore: update babel repo ( #3205 )
2024-05-08 20:15:15 +08:00
Boshen
f5dccc96fd
refactor(coverage): avoid an String::from_utf8 over head during serialization ( #3145 )
2024-04-30 23:11:22 +08:00
Boshen
67225a8091
refactor(coverage): replace yaml parsing with saphyr ( #3144 )
...
closes #3128
Profiling `cargo run -p oxc_coverage -- parser` no longer shows a
bottleneck in yaml parsing
2024-04-30 22:49:39 +08:00
Boshen
a63a45d5b2
refactor(transformer): remove the requirement of Semantic ( #3140 )
...
It seems like we need to rebuild the scopes and symbols while
traversing. We can't utilize the scopes and symbols built by semantic
because they are immutable.
2024-04-30 12:48:21 +08:00