Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

C interoperability and libraries

Trusted .plentyi modules describe foreign ABI and lifetime promises. The compiler checks declared types, ownership, and loans; binding authors and native callers must supply matching implementations, valid storage, and obey the stated aliasing rules. Foreign code can violate memory safety. No foreign unwinding or nonlocal jump may cross Plenty frames.

The native ABI targets are x86_64-unknown-linux-gnu and aarch64-unknown-linux-gnu; the compiler, runtime and library object must match. See ARM qualification for deployment limits. Calls and owned exported objects remain on their creating caller thread, with serialized access as required by the generated C contract. Ordinary pub controls Plenty imports and does not export a native symbol. Building and linking is explicit; source imports alone neither link nor load a library.