Skip to main content

gc_lite/
lib.rs

1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: Copyright (c) 2025-2026 John Ray <996351336@qq.com>
3
4pub mod gctype;
5mod heap;
6mod helpers;
7mod mark_sweep;
8mod mem;
9mod node;
10mod node_link;
11mod partition;
12mod scope;
13mod trace;
14mod weak;
15mod xref;
16
17#[cfg(feature = "gc_arena")]
18mod arena;
19
20pub use {
21    gctype::{GcTypeInfo, GcTypeRegistry, gctype_drop, gctype_trace},
22    heap::GcHeap,
23    helpers::{GcError, GcResult},
24    node::{Gc, GcHead, GcNode, GcRef},
25    node_link::GcNodeLink,
26    partition::{GcPartition, GcPartitionId},
27    scope::{GcScope, GcScopeStackId, GcScopeState},
28    trace::{GcTrace, GcTraceCtx, GcTraceFn},
29    weak::GcWeak,
30};
31
32#[cfg(feature = "gc_arena")]
33pub use arena::{ARENA_CAPACITY, GcArena, MAX_ARENA_ALLOC};
34
35pub(crate) use helpers::unlikely;
36
37#[doc(hidden)]
38pub use gc_lite_macros::gc_type_table_internal;