Closed
Description
This issue does NOT occur on nightly, so perhaps it's a duplicate that has already been fixed, but I could not find a similar issue on github. Feel free to close if this has already been fixed :)
Code
#[repr(u8)]
enum T<const N: u8 = { T::<0>::A as u8 + T::<0>::B as u8 }> {
A = 1, B
}
Meta
rustc --version --verbose
:
rustc 1.63.0
Error output
error: internal compiler error: compiler/rustc_middle/src/ty/subst.rs:639:17: const parameter `N/#0` (Const { ty: u8, kind: Param(N/#0) }/0) out of range when substituting substs=[]
Backtrace
thread 'rustc' panicked at 'Box<dyn Any>', /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/compiler/rustc_errors/src/lib.rs:1331:9
stack backtrace:
0: 0x7f349653818d - std::backtrace_rs::backtrace::libunwind::trace::h8217d0a8f3fd2f41
at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
1: 0x7f349653818d - std::backtrace_rs::backtrace::trace_unsynchronized::h308103876b3af410
at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x7f349653818d - std::sys_common::backtrace::_print_fmt::hc208018c6153605e
at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/sys_common/backtrace.rs:66:5
3: 0x7f349653818d - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hf89a7ed694dfb585
at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/sys_common/backtrace.rs:45:22
4: 0x7f3496593f7c - core::fmt::write::h21038c1382fe4264
at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/core/src/fmt/mod.rs:1197:17
5: 0x7f34965298a1 - std::io::Write::write_fmt::h7dbb1c9a3c254aef
at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/io/mod.rs:1672:15
6: 0x7f349653ae55 - std::sys_common::backtrace::_print::h4e8889719c9ddeb8
at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/sys_common/backtrace.rs:48:5
7: 0x7f349653ae55 - std::sys_common::backtrace::print::h1506fe2cb3022667
at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/sys_common/backtrace.rs:35:9
8: 0x7f349653ae55 - std::panicking::default_hook::{{closure}}::hd9d7ce2a8a782440
at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/panicking.rs:295:22
9: 0x7f349653ab76 - std::panicking::default_hook::h5b16ec25444b1b5d
at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/panicking.rs:314:9
10: 0x7f3496d15b54 - rustc_driver[e01eec72899701d3]::DEFAULT_HOOK::{closure#0}::{closure#0}
11: 0x7f349653b52a - std::panicking::rust_panic_with_hook::hb0138cb6e6fea3e4
at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/panicking.rs:702:17
12: 0x7f3497d28c91 - std[f9ee9c7d4fd68eda]::panicking::begin_panic::<rustc_errors[b2e8492a1747ee42]::ExplicitBug>::{closure#0}
13: 0x7f3497d285e6 - std[f9ee9c7d4fd68eda]::sys_common::backtrace::__rust_end_short_backtrace::<std[f9ee9c7d4fd68eda]::panicking::begin_panic<rustc_errors[b2e8492a1747ee42]::ExplicitBug>::{closure#0}, !>
14: 0x7f3497d6e796 - std[f9ee9c7d4fd68eda]::panicking::begin_panic::<rustc_errors[b2e8492a1747ee42]::ExplicitBug>
15: 0x7f3497d13446 - std[f9ee9c7d4fd68eda]::panic::panic_any::<rustc_errors[b2e8492a1747ee42]::ExplicitBug>
16: 0x7f3497d11061 - <rustc_errors[b2e8492a1747ee42]::HandlerInner>::span_bug::<rustc_span[fb9cf5df1e5e5539]::span_encoding::Span, &alloc[59e4fb8ddcfb913c]::string::String>
17: 0x7f3497d10f20 - <rustc_errors[b2e8492a1747ee42]::Handler>::span_bug::<rustc_span[fb9cf5df1e5e5539]::span_encoding::Span, &alloc[59e4fb8ddcfb913c]::string::String>
18: 0x7f3497de8fb8 - rustc_middle[6ba33e07887d312d]::ty::context::tls::with_opt::<rustc_middle[6ba33e07887d312d]::util::bug::opt_span_bug_fmt<rustc_span[fb9cf5df1e5e5539]::span_encoding::Span>::{closure#0}, ()>
19: 0x7f3497de9cb6 - rustc_middle[6ba33e07887d312d]::util::bug::opt_span_bug_fmt::<rustc_span[fb9cf5df1e5e5539]::span_encoding::Span>
20: 0x7f3497de9c74 - rustc_middle[6ba33e07887d312d]::util::bug::span_bug_fmt::<rustc_span[fb9cf5df1e5e5539]::span_encoding::Span>
21: 0x7f3498d84a64 - <rustc_middle[6ba33e07887d312d]::ty::consts::Const as rustc_middle[6ba33e07887d312d]::ty::fold::TypeFoldable>::try_fold_with::<rustc_middle[6ba33e07887d312d]::ty::subst::SubstFolder>
22: 0x7f3498dd769e - <rustc_middle[6ba33e07887d312d]::ty::subst::SubstFolder as rustc_middle[6ba33e07887d312d]::ty::fold::TypeFolder>::fold_const
23: 0x7f34992ed2a7 - <rustc_const_eval[fe641159a34c486c]::interpret::eval_context::InterpCx<rustc_const_eval[fe641159a34c486c]::const_eval::machine::CompileTimeInterpreter>>::subst_from_current_frame_and_normalize_erasing_regions::<rustc_middle[6ba33e07887d312d]::mir::ConstantKind>
24: 0x7f3498761f67 - <rustc_const_eval[fe641159a34c486c]::interpret::eval_context::InterpCx<rustc_const_eval[fe641159a34c486c]::const_eval::machine::CompileTimeInterpreter>>::push_stack_frame
25: 0x7f34987a0243 - rustc_const_eval[fe641159a34c486c]::const_eval::eval_queries::eval_to_allocation_raw_provider
26: 0x7f34988bc4a7 - rustc_query_system[141d649b4129d34f]::query::plumbing::try_execute_query::<rustc_query_impl[f9d56364e2ba3b26]::plumbing::QueryCtxt, rustc_query_system[141d649b4129d34f]::query::caches::DefaultCache<rustc_middle[6ba33e07887d312d]::ty::ParamEnvAnd<rustc_middle[6ba33e07887d312d]::mir::interpret::GlobalId>, core[3edb0f9afb6adb32]::result::Result<rustc_middle[6ba33e07887d312d]::mir::interpret::value::ConstAlloc, rustc_middle[6ba33e07887d312d]::mir::interpret::error::ErrorHandled>>>
27: 0x7f34988a87f3 - <rustc_query_impl[f9d56364e2ba3b26]::Queries as rustc_middle[6ba33e07887d312d]::ty::query::QueryEngine>::eval_to_allocation_raw
28: 0x7f3499320e15 - rustc_const_eval[fe641159a34c486c]::const_eval::eval_to_valtree
29: 0x7f3499324530 - <rustc_const_eval[fe641159a34c486c]::provide::{closure#1} as core[3edb0f9afb6adb32]::ops::function::FnOnce<(rustc_middle[6ba33e07887d312d]::ty::context::TyCtxt, rustc_middle[6ba33e07887d312d]::ty::ParamEnvAnd<rustc_middle[6ba33e07887d312d]::mir::interpret::GlobalId>)>>::call_once
30: 0x7f349948990b - rustc_query_system[141d649b4129d34f]::query::plumbing::get_query::<rustc_query_impl[f9d56364e2ba3b26]::queries::eval_to_valtree, rustc_query_impl[f9d56364e2ba3b26]::plumbing::QueryCtxt>
31: 0x7f34993ef875 - <rustc_query_impl[f9d56364e2ba3b26]::Queries as rustc_middle[6ba33e07887d312d]::ty::query::QueryEngine>::eval_to_valtree
32: 0x7f349973a047 - <rustc_middle[6ba33e07887d312d]::ty::context::TyCtxt>::const_eval_global_id_for_typeck
33: 0x7f3499739c8b - <rustc_middle[6ba33e07887d312d]::ty::context::TyCtxt>::const_eval_resolve_for_typeck
34: 0x7f34996b76d9 - <rustc_infer[dac8c065ff7906eb]::infer::InferCtxt>::const_eval_resolve
35: 0x7f34996a370a - rustc_trait_selection[a24496718f2f9ce]::traits::const_evaluatable::is_const_evaluatable
36: 0x7f3498c06c07 - <rustc_trait_selection[a24496718f2f9ce]::traits::fulfill::FulfillProcessor as rustc_data_structures[a72e3ab837655e00]::obligation_forest::ObligationProcessor>::process_obligation
37: 0x7f3498c54db3 - <rustc_data_structures[a72e3ab837655e00]::obligation_forest::ObligationForest<rustc_trait_selection[a24496718f2f9ce]::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection[a24496718f2f9ce]::traits::fulfill::FulfillProcessor, rustc_data_structures[a72e3ab837655e00]::obligation_forest::Outcome<rustc_trait_selection[a24496718f2f9ce]::traits::fulfill::PendingPredicateObligation, rustc_infer[dac8c065ff7906eb]::traits::FulfillmentErrorCode>>
38: 0x7f3498c00570 - <rustc_trait_selection[a24496718f2f9ce]::traits::fulfill::FulfillmentContext as rustc_infer[dac8c065ff7906eb]::traits::engine::TraitEngine>::select_all_or_error
39: 0x7f34982de46c - <rustc_typeck[4304dccefed204b7]::check::fn_ctxt::FnCtxt>::select_all_obligations_or_error
40: 0x7f349918ea35 - <rustc_infer[dac8c065ff7906eb]::infer::InferCtxtBuilder>::enter::<(), <rustc_typeck[4304dccefed204b7]::check::inherited::InheritedBuilder>::enter<<rustc_typeck[4304dccefed204b7]::check::wfcheck::CheckWfFcxBuilder>::with_fcx<rustc_typeck[4304dccefed204b7]::check::wfcheck::check_type_defn<rustc_typeck[4304dccefed204b7]::check::wfcheck::check_item_well_formed::{closure#4}>::{closure#0}>::{closure#0}, ()>::{closure#0}>
41: 0x7f34983d9a0b - rustc_typeck[4304dccefed204b7]::check::wfcheck::check_item_well_formed
42: 0x7f34988d4df6 - rustc_query_system[141d649b4129d34f]::query::plumbing::try_execute_query::<rustc_query_impl[f9d56364e2ba3b26]::plumbing::QueryCtxt, rustc_query_system[141d649b4129d34f]::query::caches::DefaultCache<rustc_span[fb9cf5df1e5e5539]::def_id::LocalDefId, ()>>
43: 0x7f34988a9cc1 - <rustc_query_impl[f9d56364e2ba3b26]::Queries as rustc_middle[6ba33e07887d312d]::ty::query::QueryEngine>::check_item_well_formed
44: 0x7f34983c29f6 - <rustc_middle[6ba33e07887d312d]::hir::map::Map>::par_visit_all_item_likes::<rustc_typeck[4304dccefed204b7]::check::wfcheck::CheckTypeWellFormedVisitor>
45: 0x7f34991ab0f7 - <rustc_session[72c90254a58d88d1]::session::Session>::track_errors::<rustc_typeck[4304dccefed204b7]::check_crate::{closure#5}, ()>
46: 0x7f349918705b - rustc_typeck[4304dccefed204b7]::check_crate
47: 0x7f3498ef86b7 - rustc_interface[be6c6c80f2cd8cf2]::passes::analysis
48: 0x7f34994587bf - rustc_query_system[141d649b4129d34f]::query::plumbing::try_execute_query::<rustc_query_impl[f9d56364e2ba3b26]::plumbing::QueryCtxt, rustc_query_system[141d649b4129d34f]::query::caches::DefaultCache<(), core[3edb0f9afb6adb32]::result::Result<(), rustc_errors[b2e8492a1747ee42]::ErrorGuaranteed>>>
49: 0x7f34994a29fe - rustc_query_system[141d649b4129d34f]::query::plumbing::get_query::<rustc_query_impl[f9d56364e2ba3b26]::queries::analysis, rustc_query_impl[f9d56364e2ba3b26]::plumbing::QueryCtxt>
50: 0x7f3498edbf87 - <rustc_interface[be6c6c80f2cd8cf2]::passes::QueryContext>::enter::<rustc_driver[e01eec72899701d3]::run_compiler::{closure#1}::{closure#2}::{closure#3}, core[3edb0f9afb6adb32]::result::Result<(), rustc_errors[b2e8492a1747ee42]::ErrorGuaranteed>>
51: 0x7f3498ec646f - <rustc_interface[be6c6c80f2cd8cf2]::interface::Compiler>::enter::<rustc_driver[e01eec72899701d3]::run_compiler::{closure#1}::{closure#2}, core[3edb0f9afb6adb32]::result::Result<core[3edb0f9afb6adb32]::option::Option<rustc_interface[be6c6c80f2cd8cf2]::queries::Linker>, rustc_errors[b2e8492a1747ee42]::ErrorGuaranteed>>
52: 0x7f3498ebfa7f - rustc_span[fb9cf5df1e5e5539]::with_source_map::<core[3edb0f9afb6adb32]::result::Result<(), rustc_errors[b2e8492a1747ee42]::ErrorGuaranteed>, rustc_interface[be6c6c80f2cd8cf2]::interface::create_compiler_and_run<core[3edb0f9afb6adb32]::result::Result<(), rustc_errors[b2e8492a1747ee42]::ErrorGuaranteed>, rustc_driver[e01eec72899701d3]::run_compiler::{closure#1}>::{closure#1}>
53: 0x7f3498ec7302 - <scoped_tls[134a193f706323ee]::ScopedKey<rustc_span[fb9cf5df1e5e5539]::SessionGlobals>>::set::<rustc_interface[be6c6c80f2cd8cf2]::interface::run_compiler<core[3edb0f9afb6adb32]::result::Result<(), rustc_errors[b2e8492a1747ee42]::ErrorGuaranteed>, rustc_driver[e01eec72899701d3]::run_compiler::{closure#1}>::{closure#0}, core[3edb0f9afb6adb32]::result::Result<(), rustc_errors[b2e8492a1747ee42]::ErrorGuaranteed>>
54: 0x7f3498eea99f - std[f9ee9c7d4fd68eda]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[be6c6c80f2cd8cf2]::util::run_in_thread_pool_with_globals<rustc_interface[be6c6c80f2cd8cf2]::interface::run_compiler<core[3edb0f9afb6adb32]::result::Result<(), rustc_errors[b2e8492a1747ee42]::ErrorGuaranteed>, rustc_driver[e01eec72899701d3]::run_compiler::{closure#1}>::{closure#0}, core[3edb0f9afb6adb32]::result::Result<(), rustc_errors[b2e8492a1747ee42]::ErrorGuaranteed>>::{closure#0}, core[3edb0f9afb6adb32]::result::Result<(), rustc_errors[b2e8492a1747ee42]::ErrorGuaranteed>>
55: 0x7f3498edc529 - <<std[f9ee9c7d4fd68eda]::thread::Builder>::spawn_unchecked_<rustc_interface[be6c6c80f2cd8cf2]::util::run_in_thread_pool_with_globals<rustc_interface[be6c6c80f2cd8cf2]::interface::run_compiler<core[3edb0f9afb6adb32]::result::Result<(), rustc_errors[b2e8492a1747ee42]::ErrorGuaranteed>, rustc_driver[e01eec72899701d3]::run_compiler::{closure#1}>::{closure#0}, core[3edb0f9afb6adb32]::result::Result<(), rustc_errors[b2e8492a1747ee42]::ErrorGuaranteed>>::{closure#0}, core[3edb0f9afb6adb32]::result::Result<(), rustc_errors[b2e8492a1747ee42]::ErrorGuaranteed>>::{closure#1} as core[3edb0f9afb6adb32]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
56: 0x7f3496545463 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h1680342795a2dc08
at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/alloc/src/boxed.rs:1951:9
57: 0x7f3496545463 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h45204a69827b0e83
at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/alloc/src/boxed.rs:1951:9
58: 0x7f3496545463 - std::sys::unix::thread::Thread::new::thread_start::h5d4e11bbda4161c8
at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/sys/unix/thread.rs:108:17
59: 0x7f349646b609 - start_thread
60: 0x7f349638e133 - clone
61: 0x0 - <unknown>