Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Rust 1.99.0 was announced on October 1, 2026. Its headline change stabilizes defining Rust functions that accept C-style variable argument lists with the C and C-unwind ABIs. The release also stabilizes raw-pointer layout APIs and several standard-library features. Existing rustup users can install the stable release with rustup update stable.
What’s new in Rust 1.99?
The Rust Release Team announced Rust 1.99.0 on October 1, 2026. The main change is support for defining C-ABI variadic functions in Rust. Other notable changes include stable functions for obtaining layout information from raw pointers, additional stable library APIs, and updated guidance about memory obtained through Box::leak. The official announcement summarizes the release; the versioned Rust 1.99.0 release notes cover the wider language, compiler, platform, library, Cargo, Clippy, and compatibility changes.
How does Rust 1.99 support C variadic functions?
Rust 1.99 stabilizes defining variadic functions with the C and C-unwind ABIs. Rust could already call variadic functions implemented externally, such as C library functions; the new capability lets Rust code define one itself. This is support for C-ABI variadic functions, not general-purpose variadic generics.
The variable arguments are exposed through VaList, which the announcement describes as ABI-compatible with C va_list across targets. Reading an argument is constrained by VaArgSafe, and the operation involves unsafe code: callers must meet the function’s documented preconditions about the arguments supplied. It is not safe to assume that an arbitrary value or argument list can be read as any chosen type.
#1 Best Overall
The release also stabilizes defining naked variadic functions with non-C ABIs. This is a separate, narrower low-level facility that must be written using inline assembly; it is not the ordinary C-ABI function feature.
Which raw-pointer layout functions are stable?
Rust 1.99 stabilizes three APIs for obtaining size or alignment information through raw pointers:
Rank #2
Layout::for_value_rawmem::size_of_val_rawmem::align_of_val_raw
The change settles their safety requirements for pointers to both sized and unsized types. It does not make raw-pointer dereferencing generally safe; callers must still follow the contracts of the specific APIs and ensure the pointer and metadata meet those requirements.
What standard-library APIs stabilized?
The Rust 1.99 announcement lists these newly stable APIs and implementations:
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Rank #3
IntoIteratorforBox<[T; N]>,&Box<[T; N]>, and&mut Box<[T; N]>VecDeque::retain_backcore::ffi::VaListBox::into_non_nullandBox::from_non_nullVec::into_partsandVec::from_partscore::mem::size_of_val_rawandcore::mem::align_of_val_rawcore::alloc::Layout::for_value_rawString::from_utf8_lossy_ownedandstring::FromUtf8Error::into_utf8_lossyFusedIteratorforStepBy<I>std::fs::set_timesandstd::fs::set_times_nofollow
Consult the official Rust 1.99.0 release notes for the full release record and details beyond this list.
What does Rust 1.99 change about Box::leak?
The release does not change Box::leak semantics. It updates standard-library documentation to recommend against taking a leaked value and later turning it back into an allocation that will be deallocated. The stated concern is how that pattern can interact with current and potential future compiler optimizations, particularly in light of planned custom-allocator stabilization. For ownership transfer that may later be deallocated, the announcement identifies Box::into_non_null as the preferred alternative. The guidance also applies to other standard-library leak functions.
How do I update to Rust 1.99?
If Rust is installed through rustup, run this command to update the stable toolchain:
rustup update stable
The command follows the update instruction in the Rust Release Team announcement. For a fuller account of changes that may affect a project, review the versioned release notes before upgrading.
Free tools Windows power users keep installed
One-click scans. No signup required.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

