rust-clippy
rust-clippy copied to clipboard
ICE in clippy::borrow_interior_mutable_const
Summary
#![deny(clippy::borrow_interior_mutable_const)]
use std::cell::UnsafeCell;
const ATOMIC_TUPLE: (Vec<UnsafeCell<u8>>, u8) = (Vec::new(), 42);
fn main() {
let _x = &ATOMIC_TUPLE.0;
}
reports:
error: internal compiler error: /home/ben/rust/compiler/rustc_middle/src/ty/consts/valtree.rs:55:18: expected branch, got Leaf(0x0000000000000000)
thread 'rustc' panicked at /home/ben/rust/compiler/rustc_middle/src/ty/consts/valtree.rs:55:18:
The problem is this unwrap_branch: https://github.com/rust-lang/rust-clippy/blob/0ce07f61db8c9de51e6ecd38aa62eb3145417c0f/clippy_lints/src/non_copy_const.rs#L222-L223
Version
rustc 1.81.0-nightly (c1b336cb6 2024-06-21)
binary: rustc
commit-hash: c1b336cb6b491b3be02cd821774f03af4992f413
commit-date: 2024-06-21
host: x86_64-unknown-linux-gnu
release: 1.81.0-nightly
LLVM version: 18.1.7
Figuring out what's broken here is blocking https://github.com/rust-lang/rust/pull/126793