Closed
Description
Summary
Required code to trigger ICE:
struct IcedSlice {
dst: [u8],
}
impl IcedSlice {
fn get_len(&self) -> usize {
self.dst.len() * size_of::<u8>()
}
}
Version
rustc 1.89.0-nightly (8405332bd 2025-05-12)
binary: rustc
commit-hash: 8405332bdf09b153e475f83b8b8ebf8d4e8eb81f
commit-date: 2025-05-12
host: x86_64-unknown-linux-gnu
release: 1.89.0-nightly
LLVM version: 20.1.4
Error output
Backtrace
thread 'rustc' panicked at /rustc/8405332bdf09b153e475f83b8b8ebf8d4e8eb81f/library/alloc/src/slice.rs:523:23:
capacity overflow
stack backtrace:
0: 0x722195869765 - std::backtrace::Backtrace::create::h0248f45dee27e8e8
1: 0x722193d43ab5 - std::backtrace::Backtrace::force_capture::h541739a45a1c2ff6
2: 0x722192d8b3a1 - std[a3033ab4cf040dbc]::panicking::update_hook::<alloc[2b9f1e9988cc0e0]::boxed::Box<rustc_driver_impl[2b29d548aa47efe8]::install_ice_hook::{closure#1}>>::{closure#0}
3: 0x722193d5d993 - std::panicking::rust_panic_with_hook::h614c9e3cb602169a
4: 0x722193d5d656 - std::panicking::begin_panic_handler::{{closure}}::h7175c42c4098b33c
5: 0x722193d59b89 - std::sys::backtrace::__rust_end_short_backtrace::hb28ab4ef577ce3dd
6: 0x722193d5d34d - __rustc[9e838b297ad6583e]::rust_begin_unwind
7: 0x722190686220 - core::panicking::panic_fmt::hee3e8e41a6e23382
8: 0x7221926accf7 - alloc::raw_vec::capacity_overflow::h84f1def4b28fd01f
9: 0x7221911f0d28 - alloc::raw_vec::handle_error::h79a2077f49fb9d94
10: 0x5c77a05bbc65 - <[u8]>::repeat
11: 0x5c77a0720b12 - <clippy_lints[8dfab32cf038f23c]::manual_slice_size_calculation::ManualSliceSizeCalculation as rustc_lint[8bf7ab06bda0f1b1]::passes::LateLintPass>::check_expr
12: 0x7221933078de - <rustc_lint[8bf7ab06bda0f1b1]::late::LateContextAndPass<rustc_lint[8bf7ab06bda0f1b1]::late::RuntimeCombinedLateLintPass> as rustc_hir[a71df458abc79d8]::intravisit::Visitor>::visit_expr::{closure#0}::{closure#0}
13: 0x722193307847 - <rustc_lint[8bf7ab06bda0f1b1]::late::LateContextAndPass<rustc_lint[8bf7ab06bda0f1b1]::late::RuntimeCombinedLateLintPass> as rustc_hir[a71df458abc79d8]::intravisit::Visitor>::visit_expr
14: 0x722193308c0b - <rustc_lint[8bf7ab06bda0f1b1]::late::LateContextAndPass<rustc_lint[8bf7ab06bda0f1b1]::late::RuntimeCombinedLateLintPass> as rustc_hir[a71df458abc79d8]::intravisit::Visitor>::visit_block
15: 0x722193307fa7 - <rustc_lint[8bf7ab06bda0f1b1]::late::LateContextAndPass<rustc_lint[8bf7ab06bda0f1b1]::late::RuntimeCombinedLateLintPass> as rustc_hir[a71df458abc79d8]::intravisit::Visitor>::visit_expr::{closure#0}::{closure#0}
16: 0x722193307847 - <rustc_lint[8bf7ab06bda0f1b1]::late::LateContextAndPass<rustc_lint[8bf7ab06bda0f1b1]::late::RuntimeCombinedLateLintPass> as rustc_hir[a71df458abc79d8]::intravisit::Visitor>::visit_expr
17: 0x722193307682 - <rustc_lint[8bf7ab06bda0f1b1]::late::LateContextAndPass<rustc_lint[8bf7ab06bda0f1b1]::late::RuntimeCombinedLateLintPass> as rustc_hir[a71df458abc79d8]::intravisit::Visitor>::visit_nested_body
18: 0x7221933082ee - <rustc_lint[8bf7ab06bda0f1b1]::late::LateContextAndPass<rustc_lint[8bf7ab06bda0f1b1]::late::RuntimeCombinedLateLintPass> as rustc_hir[a71df458abc79d8]::intravisit::Visitor>::visit_fn
19: 0x7221932ef7e2 - <rustc_lint[8bf7ab06bda0f1b1]::late::LateContextAndPass<rustc_lint[8bf7ab06bda0f1b1]::late::RuntimeCombinedLateLintPass> as rustc_hir[a71df458abc79d8]::intravisit::Visitor>::visit_nested_item
20: 0x7221953dcfde - rustc_lint[8bf7ab06bda0f1b1]::late::check_crate::{closure#0}
21: 0x7221953dd289 - rustc_lint[8bf7ab06bda0f1b1]::late::check_crate
22: 0x7221953db59f - rustc_interface[b13b618c5853daff]::passes::analysis
23: 0x7221953db375 - rustc_query_impl[c99fb05ce5425a5b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[c99fb05ce5425a5b]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[c35c93541fbaf6fb]::query::erase::Erased<[u8; 0usize]>>
24: 0x7221953d5e44 - rustc_query_system[13fd671b9de95920]::query::plumbing::try_execute_query::<rustc_query_impl[c99fb05ce5425a5b]::DynamicConfig<rustc_query_system[13fd671b9de95920]::query::caches::SingleCache<rustc_middle[c35c93541fbaf6fb]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[c99fb05ce5425a5b]::plumbing::QueryCtxt, true>
25: 0x7221953d5768 - rustc_query_impl[c99fb05ce5425a5b]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
26: 0x72219561f0c7 - rustc_interface[b13b618c5853daff]::passes::create_and_enter_global_ctxt::<core[844c48195e089da5]::option::Option<rustc_interface[b13b618c5853daff]::queries::Linker>, rustc_driver_impl[2b29d548aa47efe8]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
27: 0x7221954f50a6 - rustc_interface[b13b618c5853daff]::interface::run_compiler::<(), rustc_driver_impl[2b29d548aa47efe8]::run_compiler::{closure#0}>::{closure#1}
28: 0x7221954ca07e - std[a3033ab4cf040dbc]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[b13b618c5853daff]::util::run_in_thread_with_globals<rustc_interface[b13b618c5853daff]::util::run_in_thread_pool_with_globals<rustc_interface[b13b618c5853daff]::interface::run_compiler<(), rustc_driver_impl[2b29d548aa47efe8]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
29: 0x7221954ca4eb - <<std[a3033ab4cf040dbc]::thread::Builder>::spawn_unchecked_<rustc_interface[b13b618c5853daff]::util::run_in_thread_with_globals<rustc_interface[b13b618c5853daff]::util::run_in_thread_pool_with_globals<rustc_interface[b13b618c5853daff]::interface::run_compiler<(), rustc_driver_impl[2b29d548aa47efe8]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[844c48195e089da5]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
30: 0x7221954cb8eb - std::sys::pal::unix::thread::Thread::new::thread_start::hcb4e67cfc7257238
31: 0x72218f09caa4 - start_thread
at ./nptl/pthread_create.c:447:8
32: 0x72218f129c3c - clone3
at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78:0
33: 0x0 - <unknown>
rustc version: 1.89.0-nightly (8405332bd 2025-05-12)
platform: x86_64-unknown-linux-gnu
query stack during panic:
#0 [analysis] running analysis passes on this crate
end of query stack