Unnamed repository; edit this file 'description' to name the repository.
Fix a small bug with catastrophic effects
The tiny bug was that `FnFlags::DEPRECTAED_SAFE_2024` and `FnFlags::RUSTC_ALLOW_INCOHERENT_IMPLS` were assigned the same value.
The catastrophic effect was that every function marked as `#[rustc_allow_incoherent_impl]` was considered safe-deprecated for edition 2024, which caused it to be considered unsafe to call when called from edition 2024. And that includes `<[_]>::into_vec()`, which is called by the `vec![]` macro. So, catastrophic effect.
This innocent-looking bug probably arose from the item tree rewrite. No review would've catch that!
| -rw-r--r-- | crates/hir-def/src/signatures.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/crates/hir-def/src/signatures.rs b/crates/hir-def/src/signatures.rs index c0be1b7c68..86d6445e29 100644 --- a/crates/hir-def/src/signatures.rs +++ b/crates/hir-def/src/signatures.rs @@ -503,7 +503,7 @@ bitflags! { /// it if needed. const HAS_TARGET_FEATURE = 1 << 8; const DEPRECATED_SAFE_2024 = 1 << 9; - const RUSTC_ALLOW_INCOHERENT_IMPLS = 1 << 9; + const RUSTC_ALLOW_INCOHERENT_IMPLS = 1 << 10; } } |