error: internal compiler error: compiler/rustc_pattern_analysis/src/rustc.rs:898:9: uncaught type error: pattern Bar(_) has inconsistent arity (expected arity <= 0)
--> r_pattern_FA0651A.rs:16:11
|
16 | match Other::Other1(Foo::Baz) {
| ^^^^^^^^^^^^^^^^^^^^^^^
thread 'rustc' panicked at compiler/rustc_pattern_analysis/src/rustc.rs:898:9:
Box<dyn Any>
stack backtrace:
0: std::panicking::begin_panic::<rustc_errors::ExplicitBug>
1: <rustc_errors::diagnostic::BugAbort as rustc_errors::diagnostic::EmissionGuarantee>::emit_producing_guarantee
2: <rustc_errors::DiagCtxt>::span_bug::<rustc_span::span_encoding::Span, alloc::string::String>
3: rustc_middle::util::bug::opt_span_bug_fmt::<rustc_span::span_encoding::Span>::{closure#0}
4: rustc_middle::ty::context::tls::with_opt::<rustc_middle::util::bug::opt_span_bug_fmt<rustc_span::span_encoding::Span>::{closure#0}, !>::{closure#0}
5: rustc_middle::ty::context::tls::with_context_opt::<rustc_middle::ty::context::tls::with_opt<rustc_middle::util::bug::opt_span_bug_fmt<rustc_span::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
6: rustc_middle::util::bug::span_bug_fmt::<rustc_span::span_encoding::Span>
7: rustc_pattern_analysis::usefulness::compute_exhaustiveness_and_usefulness::<rustc_pattern_analysis::rustc::RustcPatCtxt>
8: rustc_pattern_analysis::usefulness::compute_exhaustiveness_and_usefulness::<rustc_pattern_analysis::rustc::RustcPatCtxt>
9: rustc_pattern_analysis::analyze_match
10: <rustc_mir_build::thir::pattern::check_match::MatchVisitor>::analyze_patterns
11: <rustc_mir_build::thir::pattern::check_match::MatchVisitor as rustc_middle::thir::visit::Visitor>::visit_expr
12: <rustc_mir_build::thir::pattern::check_match::MatchVisitor as rustc_middle::thir::visit::Visitor>::visit_expr
13: rustc_middle::thir::visit::walk_block::<rustc_mir_build::thir::pattern::check_match::MatchVisitor>
14: <rustc_mir_build::thir::pattern::check_match::MatchVisitor as rustc_middle::thir::visit::Visitor>::visit_expr
15: <rustc_mir_build::thir::pattern::check_match::MatchVisitor as rustc_middle::thir::visit::Visitor>::visit_expr
16: rustc_mir_build::thir::pattern::check_match::check_match
[... omitted 1 frame ...]
17: rustc_mir_build::build::mir_build
18: rustc_mir_transform::mir_built
[... omitted 1 frame ...]
19: rustc_mir_build::check_unsafety::check_unsafety
[... omitted 1 frame ...]
20: <rustc_middle::hir::map::Map>::par_body_owners::<rustc_interface::passes::run_required_analyses::{closure#1}::{closure#0}>::{closure#0}
21: rustc_interface::passes::run_required_analyses
22: rustc_interface::passes::analysis
[... omitted 1 frame ...]
23: <rustc_interface::queries::QueryResult<&rustc_middle::ty::context::GlobalCtxt>>::enter::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}::{closure#1}::{closure#3}>
24: rustc_interface::interface::run_compiler::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
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 `/Volumes/T7/workspace/240602_100chaos_tree_combine_typ/icefiles/rustc-ice-2024-06-03T05_51_05-52215.txt` to your bug report
query stack during panic:
#0 [check_match] match-checking `main`
#1 [mir_built] building MIR for `main`
#2 [check_unsafety] unsafety-checking `main`
#3 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to 3 previous errors
Some errors have detailed explanations: E0106, E0392.
For more information about an error, try `rustc --explain E0106`.
Code
(hand-reduced)
(original)
Meta
rustc --version --verbose:Error output
Command:
rustcBacktrace
Note
rustc_pattern_analysis/src/rustc.rs L898rust/compiler/rustc_pattern_analysis/src/rustc.rs
Lines 897 to 899 in 032af18
rustc_pattern_analysis/src/usefulness.rs L1010(fn pop_head_constructor)rust/compiler/rustc_pattern_analysis/src/usefulness.rs
Lines 1007 to 1012 in 032af18