NOTE: Use the 馃摑 links to edit those that have a relnotes-tracking-issue,
and they will be updated when we regenerate the notes periodically (manually).
Version 1.99.0 (2026-10-01)
Language
Compiler
Platform Support
Refer to Rust's platform support page
for more information on Rust's tiered platform support.
Libraries
Stabilized APIs
These previously stable APIs are now stable in const contexts:
Cargo
Rustdoc
Compatibility Notes
Internal Changes
These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.
NOTE: Use the 馃摑 links to edit those that have a
relnotes-tracking-issue,and they will be updated when we regenerate the notes periodically (manually).
Version 1.99.0 (2026-10-01)
Language
raw_borrows_via_referenceslint that checks for references that decay immediately into raw borrows馃摑
unconditional_paniclint to function calls that panics when the chunks/windows size is zero馃摑
馃摑
馃摑
Sized馃摑
#[my_macro] mod foo;. This allows outlined modules (mod foo;) anywhere in the body of a custom attribute or derive macro.馃摑
overflowing_literalslint with repeated negation. For instance, it will now now longer lint on--128_i8, which is already detected by thearithmetic_overflowlint.馃摑
invalid_runtime_symbol_definitionsandsuspicious_runtime_symbol_definitionslints馃摑
#[path]attributes on inline modules馃摑
unreachable_cfg_select_predicateslint as part ofunusedlint group馃摑
asm!on x86馃摑
semicolon_in_expressions_from_non_local_macros) even when the macro comes from another crate. Previously, such warnings only appeared for macros from the same crate, to avoid showing warnings that can't be fixed locally; however, this masked problems, as integration tests from the crate providing the macro get compiled as a separate crate, so tests often wouldn't reveal this issue. If you encounter a lint like this, please make sure to report it to the crate providing the macro so they can fix it; don't just silence it in your own crate.semicolon_in_expressions_from_macrosinto a separate lint馃摑
馃摑
UnsafeCellcan now be accessed without going throughgetinvalid_reference_castinglint was adjusted accordingly馃摑
#[unsafe(naked)]functions to define C-variadic functions (#![feature(c_variadic_naked_functions)]).馃摑
docattribute is used on a macro invocation馃摑
'static馃摑
Compiler
-Ctarget-cpuinto a target-modifier for AVR, AMDGCN and NVPTX馃摑
static_position_independent_executableson all gnu and musl targets馃摑
馃摑
Platform Support
riscv64-unknown-linux-muslto Tier 2 with host tools馃摑
Refer to Rust's platform support page
for more information on Rust's tiered platform support.
Libraries
transmute_copyto accept?Sizedtypes)transmute_copyto use a non-unwinding panic馃摑
escape_debug_ext馃摑
PinSafePointertrait that generalizesPinCoerceUnsized馃摑
Stabilized APIs
IntoIteratorfor[&[mut]] Box<[T; N], A>馃摑
VecDeque::retain_back馃摑
Step::forward_overflowingStep::backward_overflowing馃摑
Box::into_non_nullBox::from_non_nullVec::into_partsVec::from_parts馃摑
core::mem::size_of_val_rawcore::mem::align_of_val_rawcore::alloc::Layout::for_value_raw馃摑
String::from_utf8_lossy_owned馃摑
FusedIterator for StepBy<I>馃摑
std::fs::set_timesstd::fs::set_times_nofollow馃摑
These previously stable APIs are now stable in const contexts:
Cargo
build-dirlayout v2Rustdoc
unused_footnote_definitionrustdoc lint馃摑
馃摑
Compatibility Notes
馃摑
no_mangle_generic_itemsinto hard error馃摑
馃摑
letpattern types typecheck馃摑
unsupported()instead offrom_raw_os_error(22)馃摑
#[repr(simd)]was accidentally allowed on macro invocations on stable Rust馃摑
馃摑
馃摑
馃摑
Internal Changes
These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.