Skip to main content

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    with_current_heap, Color, FinalizerEntry, FinalizerRegistry, FinalizerRegistryStats, Gc,
14    GcAge, GcBox, GcHeader, GcState, Heap, HeapGuard, HeapRef, Marker, StepBudget, StepOutcome,
15    Trace, WeakEntry, WeakListKind, WeakRegistry, WeakRegistrySnapshot, WeakRegistryStats,
16};
17
18// ──────────────────────────────────────────────────────────────────────────
19// PORT STATUS
20//   source:        (module aggregator; per-file ports own their own trailers)
21//   target_crate:  lua-gc
22//   confidence:    high
23//   todos:         0
24//   port_notes:    0
25//   unsafe_blocks: 0
26//   notes:         Module aggregator: re-exports the public surface of heap.rs
27//                  (Gc, GcBox, GcHeader, Heap, HeapGuard, Marker, Trace, etc.).
28//                  No code of its own. The mark-and-sweep collector lives in
29//                  heap.rs. Reference-only Phase-A partial ports are not kept
30//                  in src/, so source scans track the active build.
31// ──────────────────────────────────────────────────────────────────────────