Repository navigation
ICE: None in compiler/rustc_mir_build/src/build/matches/mod.rs #119786
Description
Activity
- addedI-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.C-bugCategory: This is a bug.Category: This is a bug.
on Jan 9, 2024 - addedneeds-triageThis issue may need triage. Remove when done. See docs forge.rust-lang.org/release/issue-triagingThis issue may need triage. Remove when done. See docs forge.rust-lang.org/release/issue-triaging
on Jan 9, 2024 - removedneeds-triageThis issue may need triage. Remove when done. See docs forge.rust-lang.org/release/issue-triagingThis issue may need triage. Remove when done. See docs forge.rust-lang.org/release/issue-triaging
on Jan 11, 2024 This is really weird, it only happens when the binding is a keyword..., is the PR doing recovery incorrectly?
@Nilstrieb: It's recovering the keyword as a wildcard. This also ICEs, probably doesn't bisect to that PR but before it:
#![feature(type_alias_impl_trait)] fn enum_upvar() { type T = impl Copy; let foo: T = Some((1u32, 2u32)); let x = move || { match foo { None => (), Some(_) => (), } }; }
Reacted by noraHaha, I was trying to properly minimize this to be able to properly bisect it and turned it into an ident pattern which was fine, it didn't occur to me that it would recover to a wildcard :D.
- addedE-needs-bisectionCall for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustcCall for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustc
on Jan 25, 2024 - changed the title
[-]ICE: `None` in as_place.rs[/-][+]ICE: `None` in `compiler/rustc_mir_build/src/build/matches/mod.rs`[/+]on Mar 28, 2024 #119786 (comment) this
bisects toRegression in nightly-2022-03-31
fetching (via remote github) commits from max(9c06e1b, 2022-03-28) to c5cf08d
ending github query because we found starting sha: 9c06e1b
get_commits_between returning commits, len: 8
commit[0] 2022-03-29: Auto merge of #95448 - Dylan-DPC:rollup-wpj5yto, r=Dylan-DPC
commit[1] 2022-03-30: Auto merge of #95455 - RalfJung:miri, r=RalfJung
commit[2] 2022-03-30: Auto merge of #94081 - oli-obk:lazy_tait_take_two, r=nikomatsakis
commit[3] 2022-03-30: Auto merge of #95466 - Dylan-DPC:rollup-g7ddr8y, r=Dylan-DPC
commit[4] 2022-03-30: Auto merge of #95241 - Gankra:cleaned-provenance, r=workingjubilee
commit[5] 2022-03-30: Auto merge of #94963 - lcnr:inherent-impls-std, r=oli-obk,m-ou-se
commit[6] 2022-03-30: Auto merge of #95458 - calebcartwright:sync-rustfmt-subtree, r=calebcartwright
commit[7] 2022-03-30: Auto merge of #95425 - nnethercote:yet-more-parse_tt-improvements, r=petrochenkov
ERROR: no CI builds available between 9c06e1b and c5cf08d within last 167 days- removedE-needs-bisectionCall for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustcCall for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustc
on Mar 29, 2024 - addedS-bug-has-testStatus: This bug is tracked inside the repo by a `known-bug` test.Status: This bug is tracked inside the repo by a `known-bug` test.
on Apr 15, 2024 Fun fact: this is edition-specific. Works on 2018, ICEs on 2021.
Reacted by Esteban Kuber23 remaining items
- addedA-closuresArea: Closures (`|…| { … }`)Area: Closures (`|…| { … }`)A-impl-traitArea: `impl Trait`. Universally / existentially quantified anonymous types with static dispatch.Area: `impl Trait`. Universally / existentially quantified anonymous types with static dispatch.A-patternsRelating to patterns and pattern matchingRelating to patterns and pattern matchingT-typesRelevant to the types team, which will review and decide on the PR/issue.Relevant to the types team, which will review and decide on the PR/issue.
on Jan 24, 2026 - marked [ICE]: rustc panicked at compiler\rustc_mir_build\src\builder\matches\mod.rs:2176:44 #151595 as a duplicate of this issue
on Jan 29, 2026 with debug assertions:
thread 'rustc' (3857502) panicked at /rustc-dev/43a4909ee98ed4d006d9d773f5d94dc58e34f846/compiler/rustc_mir_build/src/builder/matches/match_pair.rs:168:13: assertion failed: place.is_some() stack backtrace: 0: 0x7f583c57ef6c - std[a7ae9e4724cd14fe]::backtrace_rs::backtrace::libunwind::trace at /rustc/43a4909ee98ed4d006d9d773f5d94dc58e34f846/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 1: 0x7f583c57ef6c - std[a7ae9e4724cd14fe]::backtrace_rs::backtrace::trace_unsynchronized::<std[a7ae9e4724cd14fe]::sys::backtrace::_print_fmt::{closure#1}> at /rustc/43a4909ee98ed4d006d9d773f5d94dc58e34f846/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 2: 0x7f583c57ef6c - std[a7ae9e4724cd14fe]::sys::backtrace::_print_fmt at /rustc/43a4909ee98ed4d006d9d773f5d94dc58e34f846/library/std/src/sys/backtrace.rs:74:9 3: 0x7f583c57ef6c - <<std[a7ae9e4724cd14fe]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[29b9cd7ad4f139be]::fmt::Display>::fmt at /rustc/43a4909ee98ed4d006d9d773f5d94dc58e34f846/library/std/src/sys/backtrace.rs:44:26 4: 0x7f58375844ae - <core[29b9cd7ad4f139be]::fmt::rt::Argument>::fmt at /rustc/43a4909ee98ed4d006d9d773f5d94dc58e34f846/library/core/src/fmt/rt.rs:152:76 5: 0x7f58375844ae - core[29b9cd7ad4f139be]::fmt::write 6: 0x7f583c59601c - std[a7ae9e4724cd14fe]::io::default_write_fmt::<std[a7ae9e4724cd14fe]::sys::stdio::unix::Stderr> at /rustc/43a4909ee98ed4d006d9d773f5d94dc58e34f846/library/std/src/io/mod.rs:623:11 7: 0x7f583c59601c - <std[a7ae9e4724cd14fe]::sys::stdio::unix::Stderr as std[a7ae9e4724cd14fe]::io::Write>::write_fmt at /rustc/43a4909ee98ed4d006d9d773f5d94dc58e34f846/library/std/src/io/mod.rs:1661:13 8: 0x7f583c5430d4 - <std[a7ae9e4724cd14fe]::sys::backtrace::BacktraceLock>::print at /rustc/43a4909ee98ed4d006d9d773f5d94dc58e34f846/library/std/src/sys/backtrace.rs:47:9 9: 0x7f583c5430d4 - std[a7ae9e4724cd14fe]::panicking::default_hook::{closure#0} at /rustc/43a4909ee98ed4d006d9d773f5d94dc58e34f846/library/std/src/panicking.rs:292:27 10: 0x7f583c56d2b1 - std[a7ae9e4724cd14fe]::panicking::default_hook at /rustc/43a4909ee98ed4d006d9d773f5d94dc58e34f846/library/std/src/panicking.rs:319:9 11: 0x7f5838a67198 - <alloc[d0f55afb5295b851]::boxed::Box<dyn for<'a, 'b> core[29b9cd7ad4f139be]::ops::function::Fn<(&'a std[a7ae9e4724cd14fe]::panic::PanicHookInfo<'b>,), Output = ()> + core[29b9cd7ad4f139be]::marker::Send + core[29b9cd7ad4f139be]::marker::Sync> as core[29b9cd7ad4f139be]::ops::function::Fn<(&std[a7ae9e4724cd14fe]::panic::PanicHookInfo,)>>::call at /rustc-dev/43a4909ee98ed4d006d9d773f5d94dc58e34f846/library/alloc/src/boxed.rs:2291:9 12: 0x7f5838a67198 - rustc_driver_impl[a6775abbfb30c688]::install_ice_hook::{closure#1} at /rustc-dev/43a4909ee98ed4d006d9d773f5d94dc58e34f846/compiler/rustc_driver_impl/src/lib.rs:1483:17 13: 0x7f5838a67198 - <alloc[d0f55afb5295b851]::boxed::Box<rustc_driver_impl[a6775abbfb30c688]::install_ice_hook::{closure#1}> as core[29b9cd7ad4f139be]::ops::function::Fn<(&dyn for<'a, 'b> core[29b9cd7ad4f139be]::ops::function::Fn<(&'a std[a7ae9e4724cd14fe]::panic::PanicHookInfo<'b>,), Output = ()> + core[29b9cd7ad4f139be]::marker::Send + core[29b9cd7ad4f139be]::marker::Sync, &std[a7ae9e4724cd14fe]::panic::PanicHookInfo)>>::call at /rustc-dev/43a4909ee98ed4d006d9d773f5d94dc58e34f846/library/alloc/src/boxed.rs:2291:9 14: 0x7f5838a67198 - std[a7ae9e4724cd14fe]::panicking::update_hook::<alloc[d0f55afb5295b851]::boxed::Box<rustc_driver_impl[a6775abbfb30c688]::install_ice_hook::{closure#1}>>::{closure#0} at /rustc-dev/43a4909ee98ed4d006d9d773f5d94dc58e34f846/library/std/src/panicking.rs:235:47 15: 0x7f583c56d64a - <alloc[d0f55afb5295b851]::boxed::Box<dyn for<'a, 'b> core[29b9cd7ad4f139be]::ops::function::Fn<(&'a std[a7ae9e4724cd14fe]::panic::PanicHookInfo<'b>,), Output = ()> + core[29b9cd7ad4f139be]::marker::Send + core[29b9cd7ad4f139be]::marker::Sync> as core[29b9cd7ad4f139be]::ops::function::Fn<(&std[a7ae9e4724cd14fe]::panic::PanicHookInfo,)>>::call at /rustc/43a4909ee98ed4d006d9d773f5d94dc58e34f846/library/alloc/src/boxed.rs:2291:9 16: 0x7f583c56d64a - std[a7ae9e4724cd14fe]::panicking::panic_with_hook at /rustc/43a4909ee98ed4d006d9d773f5d94dc58e34f846/library/std/src/panicking.rs:822:13 17: 0x7f583c5431d4 - std[a7ae9e4724cd14fe]::panicking::panic_handler::{closure#0} at /rustc/43a4909ee98ed4d006d9d773f5d94dc58e34f846/library/std/src/panicking.rs:680:13 18: 0x7f583c531f99 - std[a7ae9e4724cd14fe]::sys::backtrace::__rust_end_short_backtrace::<std[a7ae9e4724cd14fe]::panicking::panic_handler::{closure#0}, !> at /rustc/43a4909ee98ed4d006d9d773f5d94dc58e34f846/library/std/src/sys/backtrace.rs:182:18 19: 0x7f583c54510d - __rustc[926e37eea3b2551b]::rust_begin_unwind at /rustc/43a4909ee98ed4d006d9d773f5d94dc58e34f846/library/std/src/panicking.rs:678:5 20: 0x7f583758510c - core[29b9cd7ad4f139be]::panicking::panic_fmt at /rustc/43a4909ee98ed4d006d9d773f5d94dc58e34f846/library/core/src/panicking.rs:80:14 21: 0x7f58375850d2 - core[29b9cd7ad4f139be]::panicking::panic at /rustc/43a4909ee98ed4d006d9d773f5d94dc58e34f846/library/core/src/panicking.rs:150:5 22: 0x7f583a4f303e - rustc_mir_build[9026d587fb562adf]::builder::matches::match_pair::squash_inter_pat 23: 0x7f583a49a4e8 - <rustc_mir_build[9026d587fb562adf]::builder::matches::FlatPat>::from_inter_pat at /rustc-dev/43a4909ee98ed4d006d9d773f5d94dc58e34f846/compiler/rustc_mir_build/src/builder/matches/match_pair.rs:96:9 24: 0x7f583a49a4e8 - <rustc_mir_build[9026d587fb562adf]::builder::matches::FlatPat>::new at /rustc-dev/43a4909ee98ed4d006d9d773f5d94dc58e34f846/compiler/rustc_mir_build/src/builder/matches/match_pair.rs:81:9 .. .. .. 328: 0x7f0cb4e6c7a9 - std[a7ae9e4724cd14fe]::thread::lifecycle::spawn_unchecked::<rustc_interface[2069e58f22b60b4e]::util::run_in_thread_with_globals<rustc_interface[2069e58f22b60b4e]::util::run_in_thread_pool_with_globals<rustc_interface[2069e58f22b60b4e]::interface::run_compiler<(), rustc_driver_impl[a6775abbfb30c688]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} at /rustc-dev/43a4909ee98ed4d006d9d773f5d94dc58e34f846/library/std/src/thread/lifecycle.rs:68:26 329: 0x7f0cb4e6c7a9 - <std[a7ae9e4724cd14fe]::thread::lifecycle::spawn_unchecked<rustc_interface[2069e58f22b60b4e]::util::run_in_thread_with_globals<rustc_interface[2069e58f22b60b4e]::util::run_in_thread_pool_with_globals<rustc_interface[2069e58f22b60b4e]::interface::run_compiler<(), rustc_driver_impl[a6775abbfb30c688]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[29b9cd7ad4f139be]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} at /rustc-dev/43a4909ee98ed4d006d9d773f5d94dc58e34f846/library/core/src/ops/function.rs:250:5 330: 0x7f0cb897afaf - <alloc[d0f55afb5295b851]::boxed::Box<dyn core[29b9cd7ad4f139be]::ops::function::FnOnce<(), Output = ()> + core[29b9cd7ad4f139be]::marker::Send> as core[29b9cd7ad4f139be]::ops::function::FnOnce<()>>::call_once at /rustc/43a4909ee98ed4d006d9d773f5d94dc58e34f846/library/alloc/src/boxed.rs:2277:9 331: 0x7f0cb897afaf - <std[a7ae9e4724cd14fe]::sys::thread::unix::Thread>::new::thread_start at /rustc/43a4909ee98ed4d006d9d773f5d94dc58e34f846/library/std/src/sys/thread/unix.rs:118:17 332: 0x7f0cb1e981b9 - <unknown> 333: 0x7f0cb1f1d21c - <unknown> 334: 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 make sure that you have updated to the latest nightly note: please attach the file at `/tmp/im/2/rustc-ice-2026-06-07T18_52_54-3857553.txt` to your bug report note: rustc 1.98.0-nightly (43a4909ee 2026-06-07) running on x86_64-unknown-linux-gnu note: compiler flags: --crate-type lib query stack during panic: #0 [mir_built] building MIR for `enum_upvar::{closure#0}` #1 [has_ffi_unwind_calls] checking if `enum_upvar::{closure#0}` contains FFI-unwind calls #2 [mir_promoted] promoting constants in MIR for `enum_upvar::{closure#0}` #3 [mir_borrowck] borrow-checking `enum_upvar` #4 [type_of_opaque] computing type of opaque `enum_upvar::T::{opaque#0}` #5 [type_of] computing type of `enum_upvar::T::{opaque#0}` #6 [check_well_formed] checking that `enum_upvar::T::{opaque#0}` is well-formed #7 [check_type_wf] checking that types are well-formed #8 [analysis] running analysis passes on crate `a` end of query stack error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0658`.- marked [ICE]: tests/ui/type-alias-impl-trait/tait-normalize.rs crashes on edition 2021 #159324 as a duplicate of this issue
on Jul 15, 2026 - added a commit that references this issue
on Jul 15, 2026 - addedfixed-by-next-solverFixed by the next-generation trait solver, `-Znext-solver`.Fixed by the next-generation trait solver, `-Znext-solver`.
on Aug 11, 2026 - added a commit that references this issue
on Aug 17, 2026 - added a commit that references this issue
on Oct 5, 2026
View all comments
snippet:
Version information
Command:
/home/matthias/.rustup/toolchains/master/bin/rustc --edition=2021Program output