1.68.0 #
- Released on: 9 March, 2023
- Branched from master on: 20 January, 2023
Language #
- Stabilize default_alloc_error_handler
This allows usage of
allocon stable without requiring the definition of a handler for allocation failure. Defining custom handlers is still unstable. - Stabilize
efiapicalling convention. - Remove implicit promotion for types with drop glue
Compiler #
- Change
bindings_with_variant_nameto deny-by-default - Allow .. to be parsed as let initializer
- Add
armv7-sony-vita-newlibeabihfas a tier 3 target - Always check alignment during compile-time const evaluation
- Disable “split dwarf inlining” by default.
- Add vendor to Fuchsia’s target triple
- Enable sanitizers for s390x-linux
Libraries #
- Loosen the bound on the Debug implementation of Weak.
- Make
std::task::Context!Send and !Sync - PhantomData layout guarantees
- Don’t derive Debug for
OnceWith&RepeatWith - Implement DerefMut for PathBuf
- Add O(1)
Vec -> VecDequeconversion guarantee - Leak amplification for peek_mut() to ensure BinaryHeap’s invariant is always met
Stabilized APIs #
{core,std}::pin::pin!impl From<bool> for {f32,f64}std::path::MAIN_SEPARATOR_STRimpl DerefMut for PathBuf
These APIs are now stable in const contexts:
Cargo #
- Stabilize sparse registry support for crates.io
cargo build --verbosetells you more about why it recompiles.- Show progress of crates.io index update even
net.git-fetch-with-clioption enabled
Misc #
Compatibility Notes #
- Only support Android NDK 25 or newer
- Add
SEMICOLON_IN_EXPRESSIONS_FROM_MACROSto future-incompat report - Only specify
--targetby default for-Zgcc-ld=lldon wasm - Bump
IMPLIED_BOUNDS_ENTAILMENTto Deny + ReportNow std::task::Contextno longer implements Send and Sync
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.
- Encode spans relative to the enclosing item
- Don’t normalize in AstConv
- Find the right lower bound region in the scenario of partial order relations
- Fix impl block in const expr
- Check ADT fields for copy implementations considering regions
- rustdoc: simplify JS search routine by not messing with lev distance
- Enable ThinLTO for rustc on
x86_64-pc-windows-msvc - Enable ThinLTO for rustc on
x86_64-apple-darwin