7 unstable releases
new 0.4.0 | Feb 5, 2025 |
---|---|
0.4.0-rc1 | Jan 16, 2025 |
0.3.1 | Mar 12, 2024 |
0.3.0 | Feb 9, 2023 |
0.1.0 | Mar 11, 2021 |
#159 in Memory management
70,897 downloads per month
Used in 4 crates
(2 directly)
62KB
1.5K
SLoC
Boxroot for OCaml: fast movable GC roots
News
OCaml ≥ 5.3 requires Boxroot 0.4.
Change log: https://gitlab.com/ocaml-rust/ocaml-boxroot/-/blob/main/Changes.md.
Description
This library extends the OCaml foreign function interface with an efficient and flexible GC rooting mechanism. See https://gitlab.com/ocaml-rust/ocaml-boxroot/.
This crate exposes the raw functionality of the Boxroot library as
unsafe Rust functions. It is meant to be used by low-level libraries
to expose GC roots for the OCaml GC as smart pointers in Rust (see the
crate ocaml-interop
).
Running tests
The link-ocaml-runtime-and-dummy-program
feature needs to be enabled when running tests:
cargo test --features "link-ocaml-runtime-and-dummy-program"
Feature flags
bundle-boxroot
If this feature flag is not enabled (by default it is enabled), the compilation of the C code that implements boxroot will be skipped, and the user is responsible of linking boxroot into the final binary.
When this feature flag is enabled, the OCaml headers must be available to be able to compile the boxroot C code.
Dependencies
~0–305KB