spis
spis copied to clipboard
fix(deps): update dependency rust to v1.78.0
This PR contains the following updates:
Package | Update | Change |
---|---|---|
rust | minor | 1.75.0 -> 1.78.0 |
Release Notes
rust-lang/rust (rust)
v1.78.0
==========================
Language
-
Stabilize
#[cfg(target_abi = ...)]
-
Stabilize the
#[diagnostic]
namespace and#[diagnostic::on_unimplemented]
attribute - Make async-fn-in-trait implementable with concrete signatures
-
Make matching on NaN a hard error, and remove the rest of
illegal_floating_point_literal_pattern
- static mut: allow mutable reference to arbitrary types, not just slices and arrays
-
Extend
invalid_reference_casting
to include references casting to bigger memory layout -
Add
non_contiguous_range_endpoints
lint for singleton gaps after exclusive ranges -
Add
wasm_c_abi
lint for use of older wasm-bindgen versions This lint currently only works when using Cargo. -
Update
indirect_structural_match
andpointer_structural_match
lints to match RFC -
Make non-
PartialEq
-typed consts as patterns a hard error -
Split
refining_impl_trait
lint into_reachable
,_internal
variants -
Remove unnecessary type inference when using associated types inside of higher ranked
where
-bounds - Weaken eager detection of cyclic types during type inference
-
trait Trait: Auto {}
: allow upcasting fromdyn Trait
todyn Auto
Compiler
-
Made
INVALID_DOC_ATTRIBUTES
lint deny by default -
Increase accuracy of redundant
use
checking - Suggest moving definition if non-found macro_rules! is defined later
- Lower transmutes from int to pointer type as gep on null
Target changes:
- Windows tier 1 targets now require at least Windows 10
-
Add
wasm32-wasip1
tier 2 (without host tools) target -
Add
wasm32-wasip2
tier 3 target -
Rename
wasm32-wasi-preview1-threads
towasm32-wasip1-threads
-
Add
arm64ec-pc-windows-msvc
tier 3 target -
Add
armv8r-none-eabihf
tier 3 target for the Cortex-R52 -
Add
loongarch64-unknown-linux-musl
tier 3 target
Refer to Rust's [platform support page][platform-support-doc] for more information on Rust's tiered platform support.
Libraries
- Bump Unicode to version 15.1.0, regenerate tables
- Make align_offset, align_to well-behaved in all cases
- PartialEq, PartialOrd: document expectations for transitive chains
- Optimize away poison guards when std is built with panic=abort
-
Replace pthread
RwLock
with custom implementation - Implement unwind safety for Condvar on all platforms
-
Add ASCII fast-path for
char::is_grapheme_extended
Stabilized APIs
-
impl Read for &Stdin
-
Accept non
'static
lifetimes for severalstd::error::Error
related implementations -
Make
impl<Fd: AsFd>
impl take?Sized
-
impl From<TryReserveError> for io::Error
These APIs are now stable in const contexts:
Cargo
- Stabilize lockfile v4
-
Respect
rust-version
when generating lockfile -
Control
--charset
via auto-detecting config value -
Support
target.<triple>.rustdocflags
officially - Stabilize global cache data tracking
Misc
Compatibility Notes
- Many unsafe precondition checks now run for user code with debug assertions enabled This change helps users catch undefined behavior in their code, though the details of how much is checked are generally not stable.
- riscv only supports split_debuginfo=off for now
-
Consistently check bounds on hidden types of
impl Trait
- Change equality of higher ranked types to not rely on subtyping
- When called, additionally check bounds on normalized function return type
-
Expand coverage for
arithmetic_overflow
lint
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.
- Update to LLVM 18
-
Build
rustc
with 1CGU onx86_64-pc-windows-msvc
-
Build
rustc
with 1CGU onx86_64-apple-darwin
-
Introduce
run-make
V2 infrastructure, arun_make_support
library and port over 2 tests as example - Windows: Implement condvar, mutex and rwlock using futex
v1.77.2
===========================
v1.77.1
===========================
- Revert stripping debuginfo by default for Windows This fixes a regression in 1.77 by reverting to the previous default. Platforms other than Windows are not affected.
- Internal: Fix heading anchor rendering in doc pages
v1.77.0
==========================
Language
- Reveal opaque types within the defining body for exhaustiveness checking.
- Stabilize C-string literals.
- Stabilize THIR unsafeck.
-
Add lint
static_mut_refs
to warn on references to mutable statics. - Support async recursive calls (as long as they have indirection).
-
Undeprecate lint
unstable_features
and make use of it in the compiler. - Make inductive cycles in coherence ambiguous always.
- Get rid of type-driven traversal in const-eval interning, only as a future compatiblity lint for now.
- Deny braced macro invocations in let-else.
Compiler
-
Include lint
soft_unstable
in future breakage reports. -
Make
i128
andu128
16-byte aligned on x86-based targets. -
Use
--verbose
in diagnostic output. - Improve spacing between printed tokens.
-
Merge the
unused_tuple_struct_fields
lint intodead_code
. - Error on incorrect implied bounds in well-formedness check, with a temporary exception for Bevy.
- Fix coverage instrumentation/reports for non-ASCII source code.
-
Fix
fn
/const
items implied bounds and well-formedness check. -
Promote
riscv32{im|imafc}-unknown-none-elf
targets to tier 2. - Add several new tier 3 targets:
Refer to Rust's [platform support page][platform-support-doc] for more information on Rust's tiered platform support.
Libraries
Stabilized APIs
-
array::each_ref
-
array::each_mut
-
core::net
-
f32::round_ties_even
-
f64::round_ties_even
-
mem::offset_of!
-
slice::first_chunk
-
slice::first_chunk_mut
-
slice::split_first_chunk
-
slice::split_first_chunk_mut
-
slice::last_chunk
-
slice::last_chunk_mut
-
slice::split_last_chunk
-
slice::split_last_chunk_mut
-
slice::chunk_by
-
slice::chunk_by_mut
-
Bound::map
-
File::create_new
-
Mutex::clear_poison
-
RwLock::clear_poison
Cargo
-
Extend the build directive syntax with
cargo::
. -
Stabilize metadata
id
format asPackageIDSpec
. -
Pull out
cargo-util-schemas
as a crate. - Strip all debuginfo when debuginfo is not requested.
- Inherit jobserver from env for all kinds of runners.
- Deprecate rustc plugin support in cargo.
Rustdoc
- Allows links in markdown headings.
-
Search for tuples and unit by type with
()
. - Clean up the source sidebar's hide button.
-
Prevent JS injection from
localStorage
.
Misc
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.
v1.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 supersedesclippy::vtable_address_comparisons
Compiler
-
Lint pinned
#[must_use]
pointers (in particular,Box<T>
whereT
is#[must_use]
) inunused_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][platform-support-doc] 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
andRwLockWriteGuard
'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 throughstd::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
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 11.66%. Comparing base (
f649d25
) to head (e68980d
).
:exclamation: Current head e68980d differs from pull request most recent head 58ae057. Consider uploading reports for the commit 58ae057 to get more accurate results
Additional details and impacted files
@@ Coverage Diff @@
## main #178 +/- ##
=======================================
Coverage 11.66% 11.66%
=======================================
Files 23 23
Lines 1037 1037
=======================================
Hits 121 121
Misses 916 916
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.