Rust 1.43.0 release: improved compiler and type inference for primitives, item in macros

The Rust team is pleased to announce the release of a new version, 1.43.0. Rust is a programming language that allows everyone to create reliable and efficient software.


If you installed the previous version of Rust using tools rustup, then to upgrade to version 1.43.0 you just need to run the following command:


rustup update stable

If you haven’t already installed it rustup, you can install it from the corresponding page of our website, as well as see detailed release notes on GitHub.


What is included in the stable version 1.43.0


Significant changes and innovations this release does not contain. We have stabilized several new APIs, improved compiler performance, and added some changes to the macro system. See the detailed release notes for more details .


Fragments item


Now you can use fragments itemby embedding them in the body of traits, implementations, or external blocks. For instance:


macro_rules! mac_trait {
    ($i:item) => {
        trait T { $i }
    }
}
mac_trait! {
    fn foo() {}
}

:


trait T {
    fn foo() {}
}


, . , Rust 1.42, Rust 1.43.


let n: f32 = 0.0 + &0.0;

Rust 1.42 "casting &f64 as f32 is invalid β€” cannot cast &f64 as f32". β€” f32.


Cargo


, Cargo .


: , , "cli". cli . Cargo CARGO_BIN_EXE_cli, :


let exe = env!("CARGO_BIN_EXE_cli");

cli , .



, , , . u32::MAX f32::NAN use std::u32; use std::f32;.


primitive, Rust. , , .


API:




, Cargo Clippy .


1.43.0


, Rust 1.43.0. , !



Rust - .


andreevlex, funkill, Hirrolot, l4l, H. K. blandger.


All Articles