Rust 1.99 lets Rust define C-style variadic functions
Rust 1.99 stabilizes defining C-compatible functions that accept a variable number of arguments, extending interoperability beyond calling existing C functions. It also stabilizes APIs for querying layout through raw pointers. Separately, the standard-library documentation now advises against recovering and freeing memory through Box::leak, recommending explicit ownership-transfer APIs when later deallocation is intended.
Rust Release Team · Oct 1, 2026
Why it matters
Systems developers gain interoperability features and a concrete memory-management pattern to review.
More context
Try the stable toolchain through rustup, then run your existing tests. Review FFI wrappers and code that later frees leaked boxes; Box::into_raw or Box::into_non_null expresses the intended ownership transfer.
Keep in mind
This is a stable release, but variadic argument handling still has unsafe caller obligations. The leak guidance changes documentation, not language semantics. 1min has not tested application compatibility.
Original read