Migrating to Rust Language 1.91.0
Version 1.91.0 introduces 1 breaking change. This guide details how to update your code.
Released: 10/30/2025
⚠️ Check Your Code
If you use any of these symbols, you need to read this guide:
semicolon_in_expressions_from_macrostarget_abicore::panic::Location::filestd::thread::set_stack_sizePath::file_prefixAtomicPtr::fetch_ptr_addAtomicPtr::fetch_ptr_subAtomicPtr::fetch_byte_addAtomicPtr::fetch_byte_subAtomicPtr::fetch_orAtomicPtr::fetch_andAtomicPtr::fetch_xorinteger::strict_addinteger::strict_subinteger::strict_mulinteger::strict_divinteger::strict_div_euclidinteger::strict_reminteger::strict_rem_euclidinteger::strict_neginteger::strict_shlinteger::strict_shrinteger::strict_powi{N}::strict_add_unsignedi{N}::strict_sub_unsignedi{N}::strict_absu{N}::strict_add_signedu{N}::strict_sub_signedPanicHookInfo::payload_as_strcore::iter::chainu{N}::checked_signed_diffcore::array::repeatPathBuf::add_extensionPathBuf::with_added_extensionDuration::from_minsDuration::from_hoursPathBuf::PartialEq<str>PathBuf::PartialEq<String>Path::PartialEq<str>Path::PartialEq<String>String::PartialEq<PathBuf>String::PartialEq<Path>str::PartialEq<PathBuf>str::PartialEq<Path>Ipv4Addr::from_octetsIpv6Addr::from_octetsIpv6Addr::from_segmentsPin<Box<T>>::DefaultPin<Rc<T>>::DefaultPin<Arc<T>>::DefaultBreaking Changes
●Issue #1
The `semicolon_in_expressions_from_macros` lint has been upgraded from `warn` to `deny`. Code that previously only generated a warning for using semicolons in expressions originating from macros will now fail compilation.
✓Solution
Remove semicolons from expressions inside macros that are used as parts of larger expressions, or use the `#![allow(semicolon_in_expressions_from_macros)]` attribute if the behavior is intended and acceptable.
Migration Steps
- 1If your code relied on the old behavior of `semicolon_in_expressions_from_macros` generating only a warning, you must now update that code to avoid the semicolon or explicitly allow the lint if necessary.
Release Summary
This release stabilizes several new APIs, including strict integer arithmetic methods and various `Path`/`PathBuf` comparison traits, while also promoting Windows targets to Tier 1 and Tier 2 support. A significant language change is upgrading the `semicolon_in_expressions_from_macros` lint to deny.
Need More Details?
View the full release notes and all changes for Rust Language 1.91.0.
View Full Changelog