lua_gc/lib.rs
1//! Lua 5.4 garbage collector.
2//!
3//! Modules:
4//! heap — Phase-D production mark-sweep (Gc<T>, Trace, Heap)
5//!
6//! Historical Phase-A partial ports of C-Lua's `lgc.c`/`lmem.c` were removed
7//! once `heap.rs` became the production collector. Keep this crate's source
8//! tree limited to compiled modules so unsafe audits reflect the active build.
9
10pub mod heap;
11
12pub use heap::{
13 detached_allocations, strict_guard_mode, with_current_heap, BootstrapScope, Color,
14 FinalizerEntry, FinalizerRegistry, FinalizerRegistryStats, Gc, GcAge, GcBox, GcHeader, GcState,
15 Heap, HeapGuard, HeapRef, Marker, StepBudget, StepOutcome, Trace, Udata51Probe, WeakEntry,
16 WeakListKind, WeakRegistry, WeakRegistrySnapshot, WeakRegistryStats,
17};
18
19// ──────────────────────────────────────────────────────────────────────────
20// PORT STATUS
21// source: (module aggregator; per-file ports own their own trailers)
22// target_crate: lua-gc
23// confidence: high
24// todos: 0
25// port_notes: 0
26// unsafe_blocks: 0
27// notes: Module aggregator: re-exports the public surface of heap.rs
28// (Gc, GcBox, GcHeader, Heap, HeapGuard, Marker, Trace, etc.).
29// No code of its own. The mark-and-sweep collector lives in
30// heap.rs. Reference-only Phase-A partial ports are not kept
31// in src/, so source scans track the active build.
32// ──────────────────────────────────────────────────────────────────────────