Language
- Stabilize several s390x vector-related target features and the is_s390x_feature_detected! macro
- Stabilize declaration of C-style variadic functions for the system ABI
- Emit error when using some keyword as a cfg predicate
- Stabilize asm_cfg
- During const-evaluation, support copying pointers byte-by-byte
- LUB coercions now correctly handle function item types, and functions with differing safeties
- Allow const items that contain mutable references to static (which is very unsafe, but not always UB)
- Add warn-by-default const_item_interior_mutations lint to warn against calls which mutate interior mutable const items
- Add warn-by-default function_casts_as_integer lint
Compiler
- Stabilize -Cjump-tables=bool. The flag was previously called
-Zno-jump-tables.
Platform Support
Refer to Rust’s platform support page for more information on Rust’s tiered platform support.
Libraries
- Stop internally using specialization on the Copy trait as it is unsound in the presence of lifetime dependent Copy implementations. This may result in some performance regressions as some standard library APIs may now call Clone::clone instead of performing bitwise copies
- Allow the global allocator to use thread-local storage and std::thread::current()
- Make BTree::append not update existing keys when appending an entry which already exists
- Don’t require T: RefUnwindSafe for vec::IntoIter<T>: UnwindSafe
Stabilized APIs
Loading more...