Description Context
#63 still lists unsafe_empty_trace! as an open parity item.
mark_sweep_arena2/trace.rs currently notes helper macro path coupling to mark_sweep internals.
Problem
unsafe_empty_trace! parity is still missing against the Boa-facing boa_gc contract.
Trace helper macros are collector-coupled, which is brittle for multi-collector work and staged Boa integration.
Proposed scope
Add unsafe_empty_trace! helper macro parity in Oscars trace helpers.
Refactor helper macro paths so they are collector-agnostic (not hardcoded to mark_sweep).
Keep behavior unchanged for existing empty_trace! / custom_trace! users.
Add focused tests/compile checks that validate helper usage from both mark_sweep and mark_sweep_arena2 contexts.
Non-goals
No collector algorithm changes.
No allocator/layout changes.
No Boa integration wiring in this issue.
Acceptance criteria
unsafe_empty_trace! exists and is usable where expected.
Trace helper macros no longer rely on mark_sweep-only paths.
Workspace checks pass (fmt, test, clippy; miri where applicable).
#63 macro parity gap can be marked addressed by follow-up PR(s).
Reactions are currently unavailable
You can’t perform that action at this time.
Context
#63still listsunsafe_empty_trace!as an open parity item.mark_sweep_arena2/trace.rscurrently notes helper macro path coupling tomark_sweepinternals.Problem
unsafe_empty_trace!parity is still missing against the Boa-facingboa_gccontract.Proposed scope
unsafe_empty_trace!helper macro parity in Oscars trace helpers.mark_sweep).empty_trace!/custom_trace!users.mark_sweepandmark_sweep_arena2contexts.Non-goals
Acceptance criteria
unsafe_empty_trace!exists and is usable where expected.mark_sweep-only paths.fmt,test,clippy;miriwhere applicable).#63macro parity gap can be marked addressed by follow-up PR(s).