Rust is een programmeertaal bedacht door Graydon Hoare en oorspronkelijk ontwikkeld door Mozilla. Het is deels geïnspireerd op de programmeertaal C, maar kent syntactische en semantische verschillen. Het focust op veiligheid en moet moderne computersystemen efficiënter benutten. Het wordt onder meer ingezet door Cloudflare, OVH, Mozilla, Deliveroo, Coursera, AppSignal en Threema. Versie 1.90 is uitgebracht en de releasenotes voor die uitgave kunnen hieronder worden gevonden.
LLD is now the default linker onx86_64-unknown-linux-gnuThe
x86_64-unknown-linux-gnutarget will now use the LLD linker for linking Rust crates by default. This should result in improved linking performance vs the default Linux linker (BFD), particularly for large binaries, binaries with a lot of debug information, and for incremental rebuilds. In the vast majority of cases, LLD should be backwards compatible with BFD, and you should not see any difference other than reduced compilation time. However, if you do run into any new linker issues, you can always opt out using the-C linker-features=-lldcompiler flag. Either by adding it to the usualRUSTFLAGSenvironment variable, or to a project's.cargo/config.tomlconfiguration file, like so:[target.x86_64-unknown-linux-gnu] rustflags = ["-Clinker-features=-lld"]If you encounter any issues with the LLD linker, please let us know. You can read more about the switch to LLD, some benchmark numbers and the opt out mechanism here.
Cargo adds native support for workspace publishingDemoting
cargo publish --workspaceis now supported, automatically publishing all of the crates in a workspace in the right order (following any dependencies between them). This has long been possible with external tooling or manual ordering of individual publishes, but this brings the functionality into Cargo itself. Native integration allows Cargo's publish verification to run a build across the full set of to-be-published crates as if they were published, including during dry-runs. Note that publishes are still not atomic -- network errors or server-side failures can still lead to a partially published workspace.x86_64-apple-darwinto Tier 2 with host toolsGitHub will soon discontinue providing free macOS x86_64 runners for public repositories. Apple has also announced their plans for discontinuing support for the x86_64 architecture. In accordance with these changes, as of Rust 1.90, we have demoted the
x86_64-apple-darwintarget from Tier 1 with host tools to Tier 2 with host tools. This means that the target, including tools likerustcandcargo, will be guaranteed to build but is not guaranteed to pass our automated test suite.For users, this change will not immediately cause impact. Builds of both the standard library and the compiler will still be distributed by the Rust Project for use via
Stabilized APIsrustupor alternative installation methods while the target remains at Tier 2. Over time, it's likely that reduced test coverage for this target will cause things to break or fall out of compatibility with no further announcements.
u{n}::checked_sub_signedu{n}::overflowing_sub_signedu{n}::saturating_sub_signedu{n}::wrapping_sub_signedimpl Copy for IntErrorKindimpl Hash for IntErrorKindimpl PartialEq<&CStr> for CStrimpl PartialEq<CString> for CStrimpl PartialEq<Cow<CStr>> for CStrimpl PartialEq<&CStr> for CStringimpl PartialEq<CStr> for CStringimpl PartialEq<Cow<CStr>> for CStringimpl PartialEq<&CStr> for Cow<CStr>impl PartialEq<CStr> for Cow<CStr>impl PartialEq<CString> for Cow<CStr>These previously stable APIs are now stable in const contexts:
Platform Support
<[T]>::reversef32::floorf32::ceilf32::truncf32::fractf32::roundf32::round_ties_evenf64::floorf64::ceilf64::truncf64::fractf64::roundf64::round_ties_even
x86_64-apple-darwinis now a tier 2 targetRefer to Rust’s platform support page for more information on Rust’s tiered platform support.
Other changesCheck out everything that changed in Rust, Cargo, and Clippy.
