Narratives Architecture

Rust 1.99.0 Stabilizes extern "C" Variadic Functions

Built from 2 signals across 2 sources · 118 items reviewed

Rust 1.99.0, released October 1, 2026, lets you write C-ABI variadic functions directly in Rust using the new VaList type instead of only calling externally-defined ones like libc::printf. The release also adds a new allow-by-default lint for references that decay into raw borrows and widens the unconditional_panic lint to catch more panicking function calls at compile time.

  • extern "C" and "C-unwind" variadic functions can now be defined in Rust itself, using the VaList type (ABI-compatible with C's va_list) and the VaArgSafe trait to gate readable argument types
  • New allow-by-default lint raw_borrows_via_references flags references that immediately decay into raw borrows
  • Upgrade via `rustup update stable`; beta/nightly channels remain available for testing future releases

Bottom line If you write Rust that wraps C variadic APIs or maintain unsafe FFI code, update to 1.99.0 and check the new lints before your next CI run.

Signals2