oxc/crates
overlookmotel e87c0014b4 fix(allocator): statically prevent memory leaks in allocator (#8570)
Prevent memory leaks by statically preventing `Drop` types from being allocated in the arena.

Attempting to allocate any `Drop` type in the arena now produces a compilation failure.

The stabilization of `const {}` blocks in Rust 1.79.0 gave the mechanism required to enforce this at compile time without a mess of generics and traits, and in a way which should not hurt compile times (and zero runtime cost).

This PR is what discovered `CompactString`s being stored in arena in the mangler (fixed in #8557).

Note: The compilation failure occurs in `cargo build` not `cargo check`. So unfortunately errors don't appear in Rust Analyser, only when you run `cargo build`. From what I've read, stable Rust does not offer any solution to this at present. But the errors are reasonably clear what the problem is, and point to the line where it occurs.
2025-01-18 01:23:56 +00:00
..
oxc fix(semantic)!: ensure program outlives semantic (#8455) 2025-01-16 10:04:25 +08:00
oxc_allocator fix(allocator): statically prevent memory leaks in allocator (#8570) 2025-01-18 01:23:56 +00:00
oxc_ast refactor(allocator): String type (#8568) 2025-01-18 01:23:54 +00:00
oxc_ast_macros feat(ast, span, syntax, regular_expression)!: remove ContentHash (#8512) 2025-01-15 15:01:14 +00:00
oxc_cfg release(crates): v0.46.0 (#8487) 2025-01-14 19:40:44 +08:00
oxc_codegen fix(codegen): shorthand assignment target identifier consider mangled names (#8536) 2025-01-16 07:26:07 +00:00
oxc_data_structures release(crates): v0.46.0 (#8487) 2025-01-14 19:40:44 +08:00
oxc_diagnostics refactor(linter): move DiagnosticsReporters to oxlint (#8454) 2025-01-16 16:11:22 +08:00
oxc_ecmascript refactor(minifier): merge try_compress_type_of_equal_string into try_minimize_binary (#8561) 2025-01-17 11:01:54 +00:00
oxc_estree release(crates): v0.46.0 (#8487) 2025-01-14 19:40:44 +08:00
oxc_isolated_declarations release(crates): v0.46.0 (#8487) 2025-01-14 19:40:44 +08:00
oxc_language_server chore(deps): update dependency rust to v1.84.0 (#8391) 2025-01-09 18:11:17 +00:00
oxc_linter fix(linter): enhance default_param_last rule to handle optional parameters (#8563) 2025-01-17 11:35:27 +00:00
oxc_macros chore(deps): update rust crates (#8452) 2025-01-15 13:29:46 +00:00
oxc_mangler perf(mangler): optimize base54 function (#8557) 2025-01-17 05:47:28 +00:00
oxc_minifier refactor(minifier): merge try_compress_type_of_equal_string into try_minimize_binary (#8561) 2025-01-17 11:01:54 +00:00
oxc_napi release(crates): v0.46.0 (#8487) 2025-01-14 19:40:44 +08:00
oxc_parser feat(napi/parser): expose dynamic import expressions (#8540) 2025-01-16 22:25:22 +08:00
oxc_prettier refactor(allocator): String type (#8568) 2025-01-18 01:23:54 +00:00
oxc_regular_expression refactor(ast, regular_expression): shorten ContentEq implementations (#8519) 2025-01-17 06:24:08 +00:00
oxc_semantic perf(semantic): use oxc_allocator::HashMap in ScopeTree (#8554) 2025-01-16 23:29:58 +00:00
oxc_span refactor(allocator): String type (#8568) 2025-01-18 01:23:54 +00:00
oxc_syntax feat(napi/parser): expose dynamic import expressions (#8540) 2025-01-16 22:25:22 +08:00
oxc_transformer refactor(transformer/class-properties): fix lint warning in release mode (#8539) 2025-01-17 06:14:34 +00:00
oxc_traverse refactor(traverse): remove unnecessary #[allow] (#8518) 2025-01-15 17:38:03 +00:00
oxc_wasm feat(napi/minify): implement napi (#8478) 2025-01-14 08:55:55 +00:00