Path to this page:
Subject: CVS commit: pkgsrc/lang/rust
From: pin
Date: 2024-04-18 11:29:43
Message id: 20240418092943.CAB27FA2C@cvs.NetBSD.org
Log Message:
lang/rust: update to 1.76.0
Language
- Document Rust ABI compatibility between various types
- Also: guarantee that char and u32 are ABI-compatible
- Add lint ambiguous_wide_pointer_comparisons that supersedes \
clippy::vtable_address_comparisons
Compiler
- Lint pinned #[must_use] pointers (in particular, Box<T> where T is \
#[must_use]) in unused_must_use.
- Soundness fix: fix computing the offset of an unsized field in a packed struct
- Soundness fix: fix dynamic size/align computation logic for packed types with \
dyn Trait tail
- Add $message_type field to distinguish json diagnostic outputs
- Enable Rust to use the EHCont security feature of Windows
- Add tier 3 {x86_64,i686}-win7-windows-msvc targets
- Add tier 3 aarch64-apple-watchos target
- Add tier 3 arm64e-apple-ios & arm64e-apple-darwin targets
Refer to Rust's platform support page for more information on Rust's tiered \
platform support.
Libraries
- Add a column number to dbg!()
- Add std::hash::{DefaultHasher, RandomState} exports
- Fix rounding issue with exponents in fmt
- Add T: ?Sized to RwLockReadGuard and RwLockWriteGuard's Debug impls.
- Windows: Allow File::create to work on hidden files
Stabilized APIs
- Arc::unwrap_or_clone
- Rc::unwrap_or_clone
- Result::inspect
- Result::inspect_err
- Option::inspect
- type_name_of_val
- std::hash::{DefaultHasher, RandomState} These were previously available only \
through std::collections::hash_map.
- ptr::{from_ref, from_mut}
- ptr::addr_eq
Cargo
See Cargo release notes.
Rustdoc
- Don't merge cfg and doc(cfg) attributes for re-exports
- rustdoc: allow resizing the sidebar / hiding the top bar
- rustdoc-search: add support for traits and associated types
- rustdoc: Add highlighting for comments in items declaration
Compatibility Notes
- Add allow-by-default lint for unit bindings This is expected to be upgraded \
to a warning by default in a future Rust release. Some macros emit bindings with \
type () with user-provided spans, which means that this lint will warn for user \
code.
- Remove x86_64-sun-solaris target.
- Remove asmjs-unknown-emscripten target
- Report errors in jobserver inherited through environment variables This may \
warn on benign problems too.
- Update the minimum external LLVM to 16.
- Improve print_tts This change can break some naive manual parsing of token \
trees in proc macro code which expect a particular structure after .to_string(), \
rather than just arbitrary Rust code.
- Make IMPLIED_BOUNDS_ENTAILMENT into a hard error from a lint
- Vec's allocation behavior was changed when collecting some iterators \
Allocation behavior is currently not specified, nevertheless changes can be \
surprising. See impl FromIterator for Vec for more details.
- Properly reject default on free const items
Files: