Software ecosystem

Rust

Rust support for CHERI aims to combine language-level memory safety with capability-aware targets and hardware enforcement.

For
Developers and system architects
Last reviewed
2026-08-05
Review cycle
Review every 6 months

Why it matters

Rust is especially valuable for new components, while CHERI can enforce boundaries around mixed-language and legacy parts of the system.

In brief

Rust support for CHERI aims to combine language-level memory safety with capability-aware targets and hardware enforcement. The practical state depends on the compiler target, standard library, allocator, runtime, unsafe code and C interfaces used by a project.

Key considerations

1. Target

Confirm the current Rust compiler, architecture, ABI and standard-library support for the chosen platform.

2. Interfaces

Review FFI, layout, pointer provenance, allocation ownership and capability exposure at unsafe boundaries.

3. Testing

Run Rust, C and mixed tests on the target; include malformed inputs and compartment faults, not only successful builds.

Evidence and caveats

Safe Rust guarantees do not automatically extend through unsafe code, foreign libraries or an unsupported platform runtime.

Treat build, test, integration, upstream and maintained support as distinct states. Name the target and last verified date.

Primary routes

Where next

Choose a supported example, then build one small Rust/C boundary and document the authority crossing it.

Build a mixed-language example