Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ICE: cfi: index out of bounds: the len is 0 but the index is 0 dyn star #122998

Closed
matthiaskrgr opened this issue Mar 24, 2024 · 3 comments · Fixed by #123003
Closed

ICE: cfi: index out of bounds: the len is 0 but the index is 0 dyn star #122998

matthiaskrgr opened this issue Mar 24, 2024 · 3 comments · Fixed by #123003
Assignees
Labels
C-bug Category: This is a bug. F-dyn_star `#![feature(dyn_star)]` I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ PG-exploit-mitigations Project group: Exploit mitigations T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@matthiaskrgr
Copy link
Member

matthiaskrgr commented Mar 24, 2024

original:

#![feature(dyn_star)]

fn main() {
    let x: dyn* Send = &();
    Box::new(x) as Box<dyn Send>;
}

Version information

rustc 1.79.0-nightly (4a52e9cc2 2024-03-24)
binary: rustc
commit-hash: 4a52e9cc2acf102da113d1b6c712afc5fcf4db13
commit-date: 2024-03-24
host: x86_64-unknown-linux-gnu
release: 1.79.0-nightly
LLVM version: 18.1.2

Command:
/home/matthias/.rustup/toolchains/master/bin/rustc -Zsanitizer=cfi -Ccodegen-units=1 -Clto

Program output

warning: the feature `dyn_star` is incomplete and may not be safe to use and/or cause compiler crashes
 --> d.rs:1:12
  |
1 | #![feature(dyn_star)]
  |            ^^^^^^^^
  |
  = note: see issue #102425 <https://github.com/rust-lang/rust/issues/102425> for more information
  = note: `#[warn(incomplete_features)]` on by default

thread 'rustc' panicked at compiler/rustc_middle/src/ty/predicate.rs:293:9:
index out of bounds: the len is 0 but the index is 0
stack backtrace:
   0:     0x7df674669fd5 - std::backtrace_rs::backtrace::libunwind::trace::h153b4aac21592a06
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
   1:     0x7df674669fd5 - std::backtrace_rs::backtrace::trace_unsynchronized::h0ae657e5a2dcc78a
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7df674669fd5 - std::sys_common::backtrace::_print_fmt::h1303111526743bc3
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/sys_common/backtrace.rs:68:5
   3:     0x7df674669fd5 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h453eca4253d7fd5f
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7df6746bb07b - core::fmt::rt::Argument::fmt::h07591baf849655a5
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/core/src/fmt/rt.rs:142:9
   5:     0x7df6746bb07b - core::fmt::write::h05a7b3362a8d0dac
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/core/src/fmt/mod.rs:1153:17
   6:     0x7df67465ed6f - std::io::Write::write_fmt::hc6fae72088f57db5
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/io/mod.rs:1843:15
   7:     0x7df674669dae - std::sys_common::backtrace::_print::hb985463f42f6b84b
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x7df674669dae - std::sys_common::backtrace::print::h82ed19f337ebfb11
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x7df67466ca29 - std::panicking::default_hook::{{closure}}::h50c4fe9f03c5fe02
  10:     0x7df67466c793 - std::panicking::default_hook::hb200d2b608a18141
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/panicking.rs:292:9
  11:     0x7df670fced6f - std[eb5b6457c0684e39]::panicking::update_hook::<alloc[19d48c202b2dc064]::boxed::Box<rustc_driver_impl[5ee00e344af6bdf5]::install_ice_hook::{closure#0}>>::{closure#0}
  12:     0x7df67466d1c8 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::ha677c2c93628d09b
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/alloc/src/boxed.rs:2029:9
  13:     0x7df67466d1c8 - std::panicking::rust_panic_with_hook::hd69130f818b76a37
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/panicking.rs:789:13
  14:     0x7df67466ced6 - std::panicking::begin_panic_handler::{{closure}}::h8d1aa35cdccbda78
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/panicking.rs:657:13
  15:     0x7df67466a499 - std::sys_common::backtrace::__rust_end_short_backtrace::h3e16932fd6c85700
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/sys_common/backtrace.rs:171:18
  16:     0x7df67466cc07 - rust_begin_unwind
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/panicking.rs:645:5
  17:     0x7df6746b7516 - core::panicking::panic_fmt::h646691884afbbcfb
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/core/src/panicking.rs:72:14
  18:     0x7df6746b7737 - core::panicking::panic_bounds_check::h8bfafc895c7a764c
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/core/src/panicking.rs:205:5
  19:     0x7df66f04a008 - <rustc_trait_selection[712b6dfa42d66d47]::traits::select::SelectionContext>::assemble_candidates_from_impls
  20:     0x7df66f0537bf - <rustc_trait_selection[712b6dfa42d66d47]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
  21:     0x7df66f085339 - <rustc_trait_selection[712b6dfa42d66d47]::traits::select::SelectionContext>::candidate_from_obligation
  22:     0x7df672f56925 - <rustc_trait_selection[712b6dfa42d66d47]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively
  23:     0x7df672be325a - <rustc_infer[6bc818f74f99b34a]::infer::InferCtxt>::probe::<core[6a8f7797598978f6]::result::Result<rustc_middle[266e034cdbd01ed2]::traits::select::EvaluationResult, rustc_middle[266e034cdbd01ed2]::traits::select::OverflowError>, <rustc_trait_selection[712b6dfa42d66d47]::traits::select::SelectionContext>::evaluation_probe<<rustc_trait_selection[712b6dfa42d66d47]::traits::select::SelectionContext>::evaluate_root_obligation::{closure#0}>::{closure#0}>
  24:     0x7df672be1415 - rustc_traits[7b31ae9bd5c92348]::evaluate_obligation::evaluate_obligation
  25:     0x7df672be0da0 - rustc_query_impl[e2764a8ebfbc76f3]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[e2764a8ebfbc76f3]::query_impl::evaluate_obligation::dynamic_query::{closure#2}::{closure#0}, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 2usize]>>
  26:     0x7df672be0349 - rustc_query_system[1126c1c9dbd1817a]::query::plumbing::try_execute_query::<rustc_query_impl[e2764a8ebfbc76f3]::DynamicConfig<rustc_query_system[1126c1c9dbd1817a]::query::caches::DefaultCache<rustc_type_ir[aa9db5640abff06d]::canonical::Canonical<rustc_middle[266e034cdbd01ed2]::ty::context::TyCtxt, rustc_middle[266e034cdbd01ed2]::ty::ParamEnvAnd<rustc_middle[266e034cdbd01ed2]::ty::predicate::Predicate>>, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 2usize]>>, false, false, false>, rustc_query_impl[e2764a8ebfbc76f3]::plumbing::QueryCtxt, false>
  27:     0x7df672bdffd1 - rustc_query_impl[e2764a8ebfbc76f3]::query_impl::evaluate_obligation::get_query_non_incr::__rust_end_short_backtrace
  28:     0x7df66f90a214 - rustc_trait_selection[712b6dfa42d66d47]::traits::type_known_to_meet_bound_modulo_regions
  29:     0x7df672615709 - rustc_ty_utils[26bcf2e498234047]::common_traits::is_item_raw
  30:     0x7df67261533d - rustc_query_impl[e2764a8ebfbc76f3]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[e2764a8ebfbc76f3]::query_impl::is_unpin_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 1usize]>>
  31:     0x7df6728bd7ac - rustc_query_system[1126c1c9dbd1817a]::query::plumbing::try_execute_query::<rustc_query_impl[e2764a8ebfbc76f3]::DynamicConfig<rustc_query_system[1126c1c9dbd1817a]::query::caches::DefaultCache<rustc_middle[266e034cdbd01ed2]::ty::ParamEnvAnd<rustc_middle[266e034cdbd01ed2]::ty::Ty>, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[e2764a8ebfbc76f3]::plumbing::QueryCtxt, false>
  32:     0x7df6728bd24e - rustc_query_impl[e2764a8ebfbc76f3]::query_impl::is_unpin_raw::get_query_non_incr::__rust_end_short_backtrace
  33:     0x7df6728c8ee3 - rustc_middle[266e034cdbd01ed2]::query::plumbing::query_get_at::<rustc_query_system[1126c1c9dbd1817a]::query::caches::DefaultCache<rustc_middle[266e034cdbd01ed2]::ty::ParamEnvAnd<rustc_middle[266e034cdbd01ed2]::ty::Ty>, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 1usize]>>>
  34:     0x7df6728c3ffd - <core[6a8f7797598978f6]::iter::adapters::enumerate::Enumerate<_> as core[6a8f7797598978f6]::iter::traits::iterator::Iterator>::try_fold::enumerate::<rustc_middle[266e034cdbd01ed2]::ty::Ty, (), core[6a8f7797598978f6]::ops::control_flow::ControlFlow<core[6a8f7797598978f6]::ops::control_flow::ControlFlow<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>>>, core[6a8f7797598978f6]::iter::adapters::map::map_try_fold<(usize, rustc_middle[266e034cdbd01ed2]::ty::Ty), core[6a8f7797598978f6]::result::Result<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>, &rustc_middle[266e034cdbd01ed2]::ty::layout::FnAbiError>, (), core[6a8f7797598978f6]::ops::control_flow::ControlFlow<core[6a8f7797598978f6]::ops::control_flow::ControlFlow<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>>>, rustc_ty_utils[26bcf2e498234047]::abi::fn_abi_new_uncached::{closure#1}, <core[6a8f7797598978f6]::iter::adapters::GenericShunt<core[6a8f7797598978f6]::iter::adapters::map::Map<core[6a8f7797598978f6]::iter::adapters::enumerate::Enumerate<core[6a8f7797598978f6]::iter::adapters::chain::Chain<core[6a8f7797598978f6]::iter::adapters::chain::Chain<core[6a8f7797598978f6]::iter::adapters::copied::Copied<core[6a8f7797598978f6]::slice::iter::Iter<rustc_middle[266e034cdbd01ed2]::ty::Ty>>, core[6a8f7797598978f6]::iter::adapters::copied::Copied<core[6a8f7797598978f6]::slice::iter::Iter<rustc_middle[266e034cdbd01ed2]::ty::Ty>>>, core[6a8f7797598978f6]::option::IntoIter<rustc_middle[266e034cdbd01ed2]::ty::Ty>>>, rustc_ty_utils[26bcf2e498234047]::abi::fn_abi_new_uncached::{closure#1}>, core[6a8f7797598978f6]::result::Result<core[6a8f7797598978f6]::convert::Infallible, &rustc_middle[266e034cdbd01ed2]::ty::layout::FnAbiError>> as core[6a8f7797598978f6]::iter::traits::iterator::Iterator>::try_fold<(), core[6a8f7797598978f6]::iter::traits::iterator::Iterator::try_for_each::call<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>, core[6a8f7797598978f6]::ops::control_flow::ControlFlow<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>>, core[6a8f7797598978f6]::ops::control_flow::ControlFlow<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>>::Break>::{closure#0}, core[6a8f7797598978f6]::ops::control_flow::ControlFlow<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>>>::{closure#0}>::{closure#0}>::{closure#0}
  35:     0x7df672a9b5d0 - rustc_ty_utils[26bcf2e498234047]::abi::fn_abi_new_uncached
  36:     0x7df672aaac95 - rustc_ty_utils[26bcf2e498234047]::abi::fn_abi_of_instance
  37:     0x7df672aa95fd - rustc_query_impl[e2764a8ebfbc76f3]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[e2764a8ebfbc76f3]::query_impl::fn_abi_of_instance::dynamic_query::{closure#2}::{closure#0}, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 16usize]>>
  38:     0x7df672aa8490 - rustc_query_system[1126c1c9dbd1817a]::query::plumbing::try_execute_query::<rustc_query_impl[e2764a8ebfbc76f3]::DynamicConfig<rustc_query_system[1126c1c9dbd1817a]::query::caches::DefaultCache<rustc_middle[266e034cdbd01ed2]::ty::ParamEnvAnd<(rustc_middle[266e034cdbd01ed2]::ty::instance::Instance, &rustc_middle[266e034cdbd01ed2]::ty::list::List<rustc_middle[266e034cdbd01ed2]::ty::Ty>)>, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[e2764a8ebfbc76f3]::plumbing::QueryCtxt, false>
  39:     0x7df672aa80ed - rustc_query_impl[e2764a8ebfbc76f3]::query_impl::fn_abi_of_instance::get_query_non_incr::__rust_end_short_backtrace
  40:     0x7df671951aa9 - rustc_symbol_mangling[34f40022a480dc00]::typeid::typeid_itanium_cxx_abi::typeid_for_instance
  41:     0x7df67258980e - <rustc_codegen_llvm[2c192d66b5bcf778]::builder::Builder as rustc_codegen_ssa[ddc4da5775a31d80]::traits::builder::BuilderMethods>::call
  42:     0x7df67257ea7f - <rustc_codegen_ssa[ddc4da5775a31d80]::mir::block::TerminatorCodegenHelper>::do_call::<rustc_codegen_llvm[2c192d66b5bcf778]::builder::Builder>
  43:     0x7df673119534 - rustc_codegen_ssa[ddc4da5775a31d80]::mir::codegen_mir::<rustc_codegen_llvm[2c192d66b5bcf778]::builder::Builder>
  44:     0x7df6731055d8 - rustc_codegen_llvm[2c192d66b5bcf778]::base::compile_codegen_unit::module_codegen
  45:     0x7df673101856 - <rustc_codegen_llvm[2c192d66b5bcf778]::LlvmCodegenBackend as rustc_codegen_ssa[ddc4da5775a31d80]::traits::backend::ExtraBackendMethods>::compile_codegen_unit
  46:     0x7df67328148f - rustc_codegen_ssa[ddc4da5775a31d80]::base::codegen_crate::<rustc_codegen_llvm[2c192d66b5bcf778]::LlvmCodegenBackend>
  47:     0x7df673274229 - <rustc_codegen_llvm[2c192d66b5bcf778]::LlvmCodegenBackend as rustc_codegen_ssa[ddc4da5775a31d80]::traits::backend::CodegenBackend>::codegen_crate
  48:     0x7df673273b9f - rustc_interface[b2de69547a619c9c]::passes::start_codegen
  49:     0x7df673273333 - <rustc_interface[b2de69547a619c9c]::queries::Queries>::codegen_and_build_linker
  50:     0x7df67306842b - rustc_interface[b2de69547a619c9c]::interface::run_compiler::<core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>, rustc_driver_impl[5ee00e344af6bdf5]::run_compiler::{closure#0}>::{closure#0}
  51:     0x7df67314e619 - std[eb5b6457c0684e39]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[b2de69547a619c9c]::util::run_in_thread_with_globals<rustc_interface[b2de69547a619c9c]::util::run_in_thread_pool_with_globals<rustc_interface[b2de69547a619c9c]::interface::run_compiler<core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>, rustc_driver_impl[5ee00e344af6bdf5]::run_compiler::{closure#0}>::{closure#0}, core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>>::{closure#0}, core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>>
  52:     0x7df67314e446 - <<std[eb5b6457c0684e39]::thread::Builder>::spawn_unchecked_<rustc_interface[b2de69547a619c9c]::util::run_in_thread_with_globals<rustc_interface[b2de69547a619c9c]::util::run_in_thread_pool_with_globals<rustc_interface[b2de69547a619c9c]::interface::run_compiler<core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>, rustc_driver_impl[5ee00e344af6bdf5]::run_compiler::{closure#0}>::{closure#0}, core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>>::{closure#0}, core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>>::{closure#1} as core[6a8f7797598978f6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  53:     0x7df674676989 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h0d089857f8e00fa6
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/alloc/src/boxed.rs:2015:9
  54:     0x7df674676989 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha02a095b935e61c5
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/alloc/src/boxed.rs:2015:9
  55:     0x7df674676989 - std::sys::pal::unix::thread::Thread::new::thread_start::h1bc8f94bcc47d0ea
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/sys/pal/unix/thread.rs:108:17
  56:     0x7df66dea955a - <unknown>
  57:     0x7df66df26a3c - <unknown>
  58:                0x0 - <unknown>

error: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: please attach the file at `/tmp/rustc-ice-2024-03-24T12_37_28-1002662.txt` to your bug report

note: compiler flags: -Z sanitizer=cfi -C codegen-units=1 -C lto

query stack during panic:
panicked at compiler/rustc_middle/src/ty/predicate.rs:293:9:
thread panicked while processing panic. aborting.
[1]    1002662 IOT instruction  ~/.rustup/toolchains/master/bin/rustc d.rs -Zsanitizer=cfi -Ccodegen-units=1
warning: the feature `dyn_star` is incomplete and may not be safe to use and/or cause compiler crashes
 --> d.rs:1:12
  |
1 | #![feature(dyn_star)]
  |            ^^^^^^^^
  |
  = note: see issue #102425 <https://github.com/rust-lang/rust/issues/102425> for more information
  = note: `#[warn(incomplete_features)]` on by default

thread 'rustc' panicked at compiler/rustc_middle/src/ty/predicate.rs:293:9:
index out of bounds: the len is 0 but the index is 0
stack backtrace:
   0:     0x7df674669fd5 - std::backtrace_rs::backtrace::libunwind::trace::h153b4aac21592a06
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
   1:     0x7df674669fd5 - std::backtrace_rs::backtrace::trace_unsynchronized::h0ae657e5a2dcc78a
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7df674669fd5 - std::sys_common::backtrace::_print_fmt::h1303111526743bc3
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/sys_common/backtrace.rs:68:5
   3:     0x7df674669fd5 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h453eca4253d7fd5f
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7df6746bb07b - core::fmt::rt::Argument::fmt::h07591baf849655a5
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/core/src/fmt/rt.rs:142:9
   5:     0x7df6746bb07b - core::fmt::write::h05a7b3362a8d0dac
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/core/src/fmt/mod.rs:1153:17
   6:     0x7df67465ed6f - std::io::Write::write_fmt::hc6fae72088f57db5
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/io/mod.rs:1843:15
   7:     0x7df674669dae - std::sys_common::backtrace::_print::hb985463f42f6b84b
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x7df674669dae - std::sys_common::backtrace::print::h82ed19f337ebfb11
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x7df67466ca29 - std::panicking::default_hook::{{closure}}::h50c4fe9f03c5fe02
  10:     0x7df67466c793 - std::panicking::default_hook::hb200d2b608a18141
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/panicking.rs:292:9
  11:     0x7df670fced6f - std[eb5b6457c0684e39]::panicking::update_hook::<alloc[19d48c202b2dc064]::boxed::Box<rustc_driver_impl[5ee00e344af6bdf5]::install_ice_hook::{closure#0}>>::{closure#0}
  12:     0x7df67466d1c8 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::ha677c2c93628d09b
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/alloc/src/boxed.rs:2029:9
  13:     0x7df67466d1c8 - std::panicking::rust_panic_with_hook::hd69130f818b76a37
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/panicking.rs:789:13
  14:     0x7df67466ced6 - std::panicking::begin_panic_handler::{{closure}}::h8d1aa35cdccbda78
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/panicking.rs:657:13
  15:     0x7df67466a499 - std::sys_common::backtrace::__rust_end_short_backtrace::h3e16932fd6c85700
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/sys_common/backtrace.rs:171:18
  16:     0x7df67466cc07 - rust_begin_unwind
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/panicking.rs:645:5
  17:     0x7df6746b7516 - core::panicking::panic_fmt::h646691884afbbcfb
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/core/src/panicking.rs:72:14
  18:     0x7df6746b7737 - core::panicking::panic_bounds_check::h8bfafc895c7a764c
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/core/src/panicking.rs:205:5
  19:     0x7df66f04a008 - <rustc_trait_selection[712b6dfa42d66d47]::traits::select::SelectionContext>::assemble_candidates_from_impls
  20:     0x7df66f0537bf - <rustc_trait_selection[712b6dfa42d66d47]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
  21:     0x7df66f085339 - <rustc_trait_selection[712b6dfa42d66d47]::traits::select::SelectionContext>::candidate_from_obligation
  22:     0x7df672f56925 - <rustc_trait_selection[712b6dfa42d66d47]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively
  23:     0x7df672be325a - <rustc_infer[6bc818f74f99b34a]::infer::InferCtxt>::probe::<core[6a8f7797598978f6]::result::Result<rustc_middle[266e034cdbd01ed2]::traits::select::EvaluationResult, rustc_middle[266e034cdbd01ed2]::traits::select::OverflowError>, <rustc_trait_selection[712b6dfa42d66d47]::traits::select::SelectionContext>::evaluation_probe<<rustc_trait_selection[712b6dfa42d66d47]::traits::select::SelectionContext>::evaluate_root_obligation::{closure#0}>::{closure#0}>
  24:     0x7df672be1415 - rustc_traits[7b31ae9bd5c92348]::evaluate_obligation::evaluate_obligation
  25:     0x7df672be0da0 - rustc_query_impl[e2764a8ebfbc76f3]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[e2764a8ebfbc76f3]::query_impl::evaluate_obligation::dynamic_query::{closure#2}::{closure#0}, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 2usize]>>
  26:     0x7df672be0349 - rustc_query_system[1126c1c9dbd1817a]::query::plumbing::try_execute_query::<rustc_query_impl[e2764a8ebfbc76f3]::DynamicConfig<rustc_query_system[1126c1c9dbd1817a]::query::caches::DefaultCache<rustc_type_ir[aa9db5640abff06d]::canonical::Canonical<rustc_middle[266e034cdbd01ed2]::ty::context::TyCtxt, rustc_middle[266e034cdbd01ed2]::ty::ParamEnvAnd<rustc_middle[266e034cdbd01ed2]::ty::predicate::Predicate>>, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 2usize]>>, false, false, false>, rustc_query_impl[e2764a8ebfbc76f3]::plumbing::QueryCtxt, false>
  27:     0x7df672bdffd1 - rustc_query_impl[e2764a8ebfbc76f3]::query_impl::evaluate_obligation::get_query_non_incr::__rust_end_short_backtrace
  28:     0x7df66f90a214 - rustc_trait_selection[712b6dfa42d66d47]::traits::type_known_to_meet_bound_modulo_regions
  29:     0x7df672615709 - rustc_ty_utils[26bcf2e498234047]::common_traits::is_item_raw
  30:     0x7df67261533d - rustc_query_impl[e2764a8ebfbc76f3]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[e2764a8ebfbc76f3]::query_impl::is_unpin_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 1usize]>>
  31:     0x7df6728bd7ac - rustc_query_system[1126c1c9dbd1817a]::query::plumbing::try_execute_query::<rustc_query_impl[e2764a8ebfbc76f3]::DynamicConfig<rustc_query_system[1126c1c9dbd1817a]::query::caches::DefaultCache<rustc_middle[266e034cdbd01ed2]::ty::ParamEnvAnd<rustc_middle[266e034cdbd01ed2]::ty::Ty>, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[e2764a8ebfbc76f3]::plumbing::QueryCtxt, false>
  32:     0x7df6728bd24e - rustc_query_impl[e2764a8ebfbc76f3]::query_impl::is_unpin_raw::get_query_non_incr::__rust_end_short_backtrace
  33:     0x7df6728c8ee3 - rustc_middle[266e034cdbd01ed2]::query::plumbing::query_get_at::<rustc_query_system[1126c1c9dbd1817a]::query::caches::DefaultCache<rustc_middle[266e034cdbd01ed2]::ty::ParamEnvAnd<rustc_middle[266e034cdbd01ed2]::ty::Ty>, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 1usize]>>>
  34:     0x7df6728c3ffd - <core[6a8f7797598978f6]::iter::adapters::enumerate::Enumerate<_> as core[6a8f7797598978f6]::iter::traits::iterator::Iterator>::try_fold::enumerate::<rustc_middle[266e034cdbd01ed2]::ty::Ty, (), core[6a8f7797598978f6]::ops::control_flow::ControlFlow<core[6a8f7797598978f6]::ops::control_flow::ControlFlow<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>>>, core[6a8f7797598978f6]::iter::adapters::map::map_try_fold<(usize, rustc_middle[266e034cdbd01ed2]::ty::Ty), core[6a8f7797598978f6]::result::Result<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>, &rustc_middle[266e034cdbd01ed2]::ty::layout::FnAbiError>, (), core[6a8f7797598978f6]::ops::control_flow::ControlFlow<core[6a8f7797598978f6]::ops::control_flow::ControlFlow<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>>>, rustc_ty_utils[26bcf2e498234047]::abi::fn_abi_new_uncached::{closure#1}, <core[6a8f7797598978f6]::iter::adapters::GenericShunt<core[6a8f7797598978f6]::iter::adapters::map::Map<core[6a8f7797598978f6]::iter::adapters::enumerate::Enumerate<core[6a8f7797598978f6]::iter::adapters::chain::Chain<core[6a8f7797598978f6]::iter::adapters::chain::Chain<core[6a8f7797598978f6]::iter::adapters::copied::Copied<core[6a8f7797598978f6]::slice::iter::Iter<rustc_middle[266e034cdbd01ed2]::ty::Ty>>, core[6a8f7797598978f6]::iter::adapters::copied::Copied<core[6a8f7797598978f6]::slice::iter::Iter<rustc_middle[266e034cdbd01ed2]::ty::Ty>>>, core[6a8f7797598978f6]::option::IntoIter<rustc_middle[266e034cdbd01ed2]::ty::Ty>>>, rustc_ty_utils[26bcf2e498234047]::abi::fn_abi_new_uncached::{closure#1}>, core[6a8f7797598978f6]::result::Result<core[6a8f7797598978f6]::convert::Infallible, &rustc_middle[266e034cdbd01ed2]::ty::layout::FnAbiError>> as core[6a8f7797598978f6]::iter::traits::iterator::Iterator>::try_fold<(), core[6a8f7797598978f6]::iter::traits::iterator::Iterator::try_for_each::call<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>, core[6a8f7797598978f6]::ops::control_flow::ControlFlow<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>>, core[6a8f7797598978f6]::ops::control_flow::ControlFlow<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>>::Break>::{closure#0}, core[6a8f7797598978f6]::ops::control_flow::ControlFlow<rustc_target[c9726f3898307a5d]::abi::call::ArgAbi<rustc_middle[266e034cdbd01ed2]::ty::Ty>>>::{closure#0}>::{closure#0}>::{closure#0}
  35:     0x7df672a9b5d0 - rustc_ty_utils[26bcf2e498234047]::abi::fn_abi_new_uncached
  36:     0x7df672aaac95 - rustc_ty_utils[26bcf2e498234047]::abi::fn_abi_of_instance
  37:     0x7df672aa95fd - rustc_query_impl[e2764a8ebfbc76f3]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[e2764a8ebfbc76f3]::query_impl::fn_abi_of_instance::dynamic_query::{closure#2}::{closure#0}, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 16usize]>>
  38:     0x7df672aa8490 - rustc_query_system[1126c1c9dbd1817a]::query::plumbing::try_execute_query::<rustc_query_impl[e2764a8ebfbc76f3]::DynamicConfig<rustc_query_system[1126c1c9dbd1817a]::query::caches::DefaultCache<rustc_middle[266e034cdbd01ed2]::ty::ParamEnvAnd<(rustc_middle[266e034cdbd01ed2]::ty::instance::Instance, &rustc_middle[266e034cdbd01ed2]::ty::list::List<rustc_middle[266e034cdbd01ed2]::ty::Ty>)>, rustc_middle[266e034cdbd01ed2]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[e2764a8ebfbc76f3]::plumbing::QueryCtxt, false>
  39:     0x7df672aa80ed - rustc_query_impl[e2764a8ebfbc76f3]::query_impl::fn_abi_of_instance::get_query_non_incr::__rust_end_short_backtrace
  40:     0x7df671951aa9 - rustc_symbol_mangling[34f40022a480dc00]::typeid::typeid_itanium_cxx_abi::typeid_for_instance
  41:     0x7df67258980e - <rustc_codegen_llvm[2c192d66b5bcf778]::builder::Builder as rustc_codegen_ssa[ddc4da5775a31d80]::traits::builder::BuilderMethods>::call
  42:     0x7df67257ea7f - <rustc_codegen_ssa[ddc4da5775a31d80]::mir::block::TerminatorCodegenHelper>::do_call::<rustc_codegen_llvm[2c192d66b5bcf778]::builder::Builder>
  43:     0x7df673119534 - rustc_codegen_ssa[ddc4da5775a31d80]::mir::codegen_mir::<rustc_codegen_llvm[2c192d66b5bcf778]::builder::Builder>
  44:     0x7df6731055d8 - rustc_codegen_llvm[2c192d66b5bcf778]::base::compile_codegen_unit::module_codegen
  45:     0x7df673101856 - <rustc_codegen_llvm[2c192d66b5bcf778]::LlvmCodegenBackend as rustc_codegen_ssa[ddc4da5775a31d80]::traits::backend::ExtraBackendMethods>::compile_codegen_unit
  46:     0x7df67328148f - rustc_codegen_ssa[ddc4da5775a31d80]::base::codegen_crate::<rustc_codegen_llvm[2c192d66b5bcf778]::LlvmCodegenBackend>
  47:     0x7df673274229 - <rustc_codegen_llvm[2c192d66b5bcf778]::LlvmCodegenBackend as rustc_codegen_ssa[ddc4da5775a31d80]::traits::backend::CodegenBackend>::codegen_crate
  48:     0x7df673273b9f - rustc_interface[b2de69547a619c9c]::passes::start_codegen
  49:     0x7df673273333 - <rustc_interface[b2de69547a619c9c]::queries::Queries>::codegen_and_build_linker
  50:     0x7df67306842b - rustc_interface[b2de69547a619c9c]::interface::run_compiler::<core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>, rustc_driver_impl[5ee00e344af6bdf5]::run_compiler::{closure#0}>::{closure#0}
  51:     0x7df67314e619 - std[eb5b6457c0684e39]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[b2de69547a619c9c]::util::run_in_thread_with_globals<rustc_interface[b2de69547a619c9c]::util::run_in_thread_pool_with_globals<rustc_interface[b2de69547a619c9c]::interface::run_compiler<core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>, rustc_driver_impl[5ee00e344af6bdf5]::run_compiler::{closure#0}>::{closure#0}, core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>>::{closure#0}, core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>>
  52:     0x7df67314e446 - <<std[eb5b6457c0684e39]::thread::Builder>::spawn_unchecked_<rustc_interface[b2de69547a619c9c]::util::run_in_thread_with_globals<rustc_interface[b2de69547a619c9c]::util::run_in_thread_pool_with_globals<rustc_interface[b2de69547a619c9c]::interface::run_compiler<core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>, rustc_driver_impl[5ee00e344af6bdf5]::run_compiler::{closure#0}>::{closure#0}, core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>>::{closure#0}, core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[6a8f7797598978f6]::result::Result<(), rustc_span[633ab68f95803574]::ErrorGuaranteed>>::{closure#1} as core[6a8f7797598978f6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  53:     0x7df674676989 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h0d089857f8e00fa6
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/alloc/src/boxed.rs:2015:9
  54:     0x7df674676989 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha02a095b935e61c5
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/alloc/src/boxed.rs:2015:9
  55:     0x7df674676989 - std::sys::pal::unix::thread::Thread::new::thread_start::h1bc8f94bcc47d0ea
                               at /rustc/4a52e9cc2acf102da113d1b6c712afc5fcf4db13/library/std/src/sys/pal/unix/thread.rs:108:17
  56:     0x7df66dea955a - <unknown>
  57:     0x7df66df26a3c - <unknown>
  58:                0x0 - <unknown>

error: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: please attach the file at `/tmp/rustc-ice-2024-03-24T12_37_28-1002662.txt` to your bug report

note: compiler flags: -Z sanitizer=cfi -C codegen-units=1 -C lto

query stack during panic:
panicked at compiler/rustc_middle/src/ty/predicate.rs:293:9:
thread panicked while processing panic. aborting.
[1]    1002662 IOT instruction  ~/.rustup/toolchains/master/bin/rustc d.rs -Zsanitizer=cfi -Ccodegen-units=1

@matthiaskrgr matthiaskrgr added I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. C-bug Category: This is a bug. F-dyn_star `#![feature(dyn_star)]` PG-exploit-mitigations Project group: Exploit mitigations labels Mar 24, 2024
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Mar 24, 2024
@matthiaskrgr
Copy link
Member Author

I believe this happens since #122980 cc @maurer

@matthiaskrgr
Copy link
Member Author

dyn Trait seems to also cause problems

const X: for<'b> fn(&'b ()) = |&()| ();
fn main() {
    let dyn_debug = Box::new(X) as Box<fn(&'static ())> as Box<dyn Send>;
    drop(dyn_debug)
}

@maurer
Copy link
Contributor

maurer commented Mar 24, 2024

The core problem here is the encoding of the receiver on a dyn AutoTrait object that has no principal. There's a fix for this in the larger patch stack I was breaking down to land piecewise. I'll upload it in a moment.

@rustbot claim

maurer added a commit to maurer/rust that referenced this issue Mar 24, 2024
In user-facing Rust, `dyn` always has at least one predicate following
it. Unfortunately, because we filter out marker traits from receivers at
callsites and `dyn Sync` is, for example, legal, this results in us
having `dyn` types with no predicates on occasion in our alias set
encoding. This patch handles cases where there are no predicates in a
`dyn` type which are relevant to its alias set.

Fixes rust-lang#122998
@jieyouxu jieyouxu removed the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Mar 24, 2024
maurer added a commit to maurer/rust that referenced this issue Mar 24, 2024
In user-facing Rust, `dyn` always has at least one predicate following
it. Unfortunately, because we filter out marker traits from receivers at
callsites and `dyn Sync` is, for example, legal, this results in us
having `dyn` types with no predicates on occasion in our alias set
encoding. This patch handles cases where there are no predicates in a
`dyn` type which are relevant to its alias set.

Fixes rust-lang#122998
maurer added a commit to maurer/rust that referenced this issue Mar 24, 2024
In user-facing Rust, `dyn` always has at least one predicate following
it. Unfortunately, because we filter out marker traits from receivers at
callsites and `dyn Sync` is, for example, legal, this results in us
having `dyn` types with no predicates on occasion in our alias set
encoding. This patch handles cases where there are no predicates in a
`dyn` type which are relevant to its alias set.

Fixes rust-lang#122998
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Mar 24, 2024
CFI: Handle dyn with no principal

In user-facing Rust, `dyn` always has at least one predicate following it. Unfortunately, because we filter out marker traits from receivers at callsites and `dyn Sync` is, for example, legal, this results in us having `dyn` types with no predicates on occasion in our alias set encoding. This patch handles cases where there are no predicates in a `dyn` type which are relevant to its alias set.

Fixes rust-lang#122998

r? workingjubilee
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Mar 25, 2024
CFI: Handle dyn with no principal

In user-facing Rust, `dyn` always has at least one predicate following it. Unfortunately, because we filter out marker traits from receivers at callsites and `dyn Sync` is, for example, legal, this results in us having `dyn` types with no predicates on occasion in our alias set encoding. This patch handles cases where there are no predicates in a `dyn` type which are relevant to its alias set.

Fixes rust-lang#122998

r? workingjubilee
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Mar 25, 2024
CFI: Handle dyn with no principal

In user-facing Rust, `dyn` always has at least one predicate following it. Unfortunately, because we filter out marker traits from receivers at callsites and `dyn Sync` is, for example, legal, this results in us having `dyn` types with no predicates on occasion in our alias set encoding. This patch handles cases where there are no predicates in a `dyn` type which are relevant to its alias set.

Fixes rust-lang#122998

r? workingjubilee
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Mar 25, 2024
CFI: Handle dyn with no principal

In user-facing Rust, `dyn` always has at least one predicate following it. Unfortunately, because we filter out marker traits from receivers at callsites and `dyn Sync` is, for example, legal, this results in us having `dyn` types with no predicates on occasion in our alias set encoding. This patch handles cases where there are no predicates in a `dyn` type which are relevant to its alias set.

Fixes rust-lang#122998

r? workingjubilee
@bors bors closed this as completed in ea45185 Mar 25, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this issue Mar 25, 2024
Rollup merge of rust-lang#123003 - maurer:dyn-empty, r=compiler-errors

CFI: Handle dyn with no principal

In user-facing Rust, `dyn` always has at least one predicate following it. Unfortunately, because we filter out marker traits from receivers at callsites and `dyn Sync` is, for example, legal, this results in us having `dyn` types with no predicates on occasion in our alias set encoding. This patch handles cases where there are no predicates in a `dyn` type which are relevant to its alias set.

Fixes rust-lang#122998

r? workingjubilee
maurer added a commit to maurer/rust that referenced this issue Apr 1, 2024
In user-facing Rust, `dyn` always has at least one predicate following
it. Unfortunately, because we filter out marker traits from receivers at
callsites and `dyn Sync` is, for example, legal, this results in us
having `dyn` types with no predicates on occasion in our alias set
encoding. This patch handles cases where there are no predicates in a
`dyn` type which are relevant to its alias set.

Fixes rust-lang#122998
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: This is a bug. F-dyn_star `#![feature(dyn_star)]` I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ PG-exploit-mitigations Project group: Exploit mitigations T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants