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 with basic generic const expr #90654

Closed
overdrivenpotato opened this issue Nov 6, 2021 · 1 comment · Fixed by #90023
Closed

ICE with basic generic const expr #90654

overdrivenpotato opened this issue Nov 6, 2021 · 1 comment · Fixed by #90023
Labels
C-bug Category: This is a bug. glacier ICE tracked in rust-lang/glacier. 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.

Comments

@overdrivenpotato
Copy link
Contributor

Code

#![feature(generic_const_exprs)]

trait TyNum {
    const VAL: usize;
}

fn make_array<T: TyNum>() -> [i32; T::VAL + 1] {
    panic!()
}

trait SmallArray {}
impl SmallArray for [i32; 1] {}
impl SmallArray for [i32; 2] {}

fn consume<T: SmallArray>(t: T) {}

fn foo<T>()
where
    T: TyNum,
    [(); T::VAL + 1]: ,
{
    consume(make_array::<T>());
}

Meta

rustc --version --verbose:

rustc 1.58.0-nightly (29b124802 2021-10-25)
binary: rustc
commit-hash: 29b1248025b19bd132c8047fc710ea9314b9b76b
commit-date: 2021-10-25
host: x86_64-apple-darwin
release: 1.58.0-nightly
LLVM version: 13.0.0

Error output

    Checking test-bug-repro v0.1.0 (/private/tmp/test-bug-repro)
warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
 --> src/lib.rs:1:12
  |
1 | #![feature(generic_const_exprs)]
  |            ^^^^^^^^^^^^^^^^^^^
  |
  = note: `#[warn(incomplete_features)]` on by default
  = note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information

thread 'rustc' panicked at 'Unknown variable: 0', compiler/rustc_ty_utils/src/instance.rs:46:17
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

error: internal compiler error: unexpected panic

note: 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: rustc 1.58.0-nightly (29b124802 2021-10-25) running on x86_64-apple-darwin

note: compiler flags: -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C incremental --crate-type lib

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
thread 'rustc' panicked at 'substs of instance DefId(0:4 ~ test_bug_repro[fd81]::TyNum::VAL) not normalized for codegen: [^1]', compiler/rustc_middle/src/ty/instance.rs:303:9
stack backtrace:
   0:        0x111585801 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hec762383110a7685
   1:        0x1115d66eb - core::fmt::write::h2d5ecb4b9764759c
   2:        0x111576e1a - std::io::Write::write_fmt::h9d7d3ae333151289
   3:        0x111588965 - std::panicking::default_hook::{{closure}}::h552de0233eed7dab
   4:        0x11158854f - std::panicking::default_hook::hf4e8e1e5a5c43b90
   5:        0x108df6298 - rustc_driver[2b55fea025b343ce]::DEFAULT_HOOK::{closure#0}::{closure#0}
   6:        0x1115891a6 - std::panicking::rust_panic_with_hook::h7c7e0153f3e14d6b
   7:        0x111588c1e - std::panicking::begin_panic_handler::{{closure}}::h3c7f7ffd2b05c635
   8:        0x111585c77 - std::sys_common::backtrace::__rust_end_short_backtrace::h3bdf4f6c89eee6ea
   9:        0x111588b8a - _rust_begin_unwind
  10:        0x11160155f - core::panicking::panic_fmt::h88a1b6fbb9084d2c
  11:        0x10d2206b5 - <rustc_middle[68b3c4a9fac3c951]::ty::instance::Instance>::new
  12:        0x10c734389 - <std[47b77c5136b0281e]::thread::local::LocalKey<core[f4889159fda6615f]::cell::Cell<bool>>>::with::<rustc_middle[68b3c4a9fac3c951]::ty::print::pretty::with_forced_impl_filename_line<rustc_query_impl[89c0af106cc9882d]::make_query::resolve_instance::{closure#0}::{closure#0}, alloc[6b2a4c4c8c58ee9a]::string::String>::{closure#0}, alloc[6b2a4c4c8c58ee9a]::string::String>
  13:        0x10c4e223d - rustc_query_impl[89c0af106cc9882d]::make_query::resolve_instance
  14:        0x10c2f27e1 - <rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::QueryState<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<(rustc_span[5768cebd3d858061]::def_id::DefId, &rustc_middle[68b3c4a9fac3c951]::ty::list::List<rustc_middle[68b3c4a9fac3c951]::ty::subst::GenericArg>)>>>::try_collect_active_jobs::<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt>
  15:        0x10c5838b3 - <rustc_query_impl[89c0af106cc9882d]::Queries>::try_collect_active_jobs
  16:        0x10c6fd62f - rustc_query_system[834ba1a2d27f8a8c]::query::job::print_query_stack::<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt>
  17:        0x108fdb822 - rustc_interface[333b44aaac6b850f]::interface::try_print_query_stack
  18:        0x108df6f58 - rustc_driver[2b55fea025b343ce]::report_ice
  19:        0x1115891a6 - std::panicking::rust_panic_with_hook::h7c7e0153f3e14d6b
  20:        0x111588c1e - std::panicking::begin_panic_handler::{{closure}}::h3c7f7ffd2b05c635
  21:        0x111585c77 - std::sys_common::backtrace::__rust_end_short_backtrace::h3bdf4f6c89eee6ea
  22:        0x111588b8a - _rust_begin_unwind
  23:        0x11160155f - core::panicking::panic_fmt::h88a1b6fbb9084d2c
  24:        0x10ba0c963 - rustc_ty_utils[8a0c1da3457f419a]::instance::inner_resolve_instance
  25:        0x10ba09f39 - rustc_ty_utils[8a0c1da3457f419a]::instance::resolve_instance
  26:        0x10c66b138 - <rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind as rustc_query_system[834ba1a2d27f8a8c]::dep_graph::DepKind>::with_deps::<<rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<(rustc_span[5768cebd3d858061]::def_id::DefId, &rustc_middle[68b3c4a9fac3c951]::ty::list::List<rustc_middle[68b3c4a9fac3c951]::ty::subst::GenericArg>)>, core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_middle[68b3c4a9fac3c951]::ty::instance::Instance>, rustc_errors[41f29db6be5cacf9]::ErrorReported>>::{closure#0}, core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_middle[68b3c4a9fac3c951]::ty::instance::Instance>, rustc_errors[41f29db6be5cacf9]::ErrorReported>>
  27:        0x10c5ca57d - <rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<(rustc_span[5768cebd3d858061]::def_id::DefId, &rustc_middle[68b3c4a9fac3c951]::ty::list::List<rustc_middle[68b3c4a9fac3c951]::ty::subst::GenericArg>)>, core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_middle[68b3c4a9fac3c951]::ty::instance::Instance>, rustc_errors[41f29db6be5cacf9]::ErrorReported>>
  28:        0x10c521384 - rustc_data_structures[1f783f557f2a0289]::stack::ensure_sufficient_stack::<(core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_middle[68b3c4a9fac3c951]::ty::instance::Instance>, rustc_errors[41f29db6be5cacf9]::ErrorReported>, rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepNodeIndex), rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::execute_job<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<(rustc_span[5768cebd3d858061]::def_id::DefId, &rustc_middle[68b3c4a9fac3c951]::ty::list::List<rustc_middle[68b3c4a9fac3c951]::ty::subst::GenericArg>)>, core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_middle[68b3c4a9fac3c951]::ty::instance::Instance>, rustc_errors[41f29db6be5cacf9]::ErrorReported>>::{closure#3}>
  29:        0x10c4331f3 - rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::get_query::<rustc_query_impl[89c0af106cc9882d]::queries::resolve_instance, rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt>
  30:        0x10c586569 - <rustc_query_impl[89c0af106cc9882d]::Queries as rustc_middle[68b3c4a9fac3c951]::ty::query::QueryEngine>::resolve_instance
  31:        0x10d22e957 - <rustc_middle[68b3c4a9fac3c951]::ty::instance::Instance>::resolve_opt_const_arg
  32:        0x10d1b7d41 - <rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt>::const_eval_resolve
  33:        0x10cfd51a3 - <rustc_trait_selection[efff7356bb4da473]::traits::query::normalize::QueryNormalizer as rustc_middle[68b3c4a9fac3c951]::ty::fold::TypeFolder>::fold_const
  34:        0x10cfd534b - <rustc_trait_selection[efff7356bb4da473]::traits::query::normalize::QueryNormalizer as rustc_middle[68b3c4a9fac3c951]::ty::fold::TypeFolder>::fold_mir_const
  35:        0x10c1e9d9a - <rustc_infer[d9cc1da4310a337c]::infer::at::At as rustc_trait_selection[efff7356bb4da473]::traits::query::normalize::AtExt>::normalize::<rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind>
  36:        0x10c10266c - <rustc_infer[d9cc1da4310a337c]::infer::InferCtxtBuilder>::enter::<rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind, rustc_traits[2f1e4ef948d54fc2]::normalize_erasing_regions::normalize_after_erasing_regions<rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind>::{closure#0}>
  37:        0x10c1cde0a - <rustc_traits[2f1e4ef948d54fc2]::normalize_erasing_regions::provide::{closure#1} as core[f4889159fda6615f]::ops::function::FnOnce<(rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind>)>>::call_once
  38:        0x10c66a9b8 - <rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind as rustc_query_system[834ba1a2d27f8a8c]::dep_graph::DepKind>::with_deps::<<rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind>, rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind>::{closure#0}, rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind>
  39:        0x10c5c4fca - <rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind>, rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind>
  40:        0x10c5273d5 - rustc_data_structures[1f783f557f2a0289]::stack::ensure_sufficient_stack::<(rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind, rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepNodeIndex), rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::execute_job<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind>, rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind>::{closure#3}>
  41:        0x10c456c1a - rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::get_query::<rustc_query_impl[89c0af106cc9882d]::queries::normalize_mir_const_after_erasing_regions, rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt>
  42:        0x10c585fc9 - <rustc_query_impl[89c0af106cc9882d]::Queries as rustc_middle[68b3c4a9fac3c951]::ty::query::QueryEngine>::normalize_mir_const_after_erasing_regions
  43:        0x10bfdf3f9 - <rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt>::normalize_erasing_regions::<rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind>
  44:        0x10bf9e489 - <rustc_const_eval[90a809bfc3e821e8]::interpret::eval_context::InterpCx<rustc_const_eval[90a809bfc3e821e8]::const_eval::machine::CompileTimeInterpreter>>::push_stack_frame
  45:        0x10bfec2c0 - rustc_const_eval[90a809bfc3e821e8]::const_eval::eval_queries::eval_to_allocation_raw_provider
  46:        0x10c66aad0 - <rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind as rustc_query_system[834ba1a2d27f8a8c]::dep_graph::DepKind>::with_deps::<<rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::mir::interpret::GlobalId>, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::mir::interpret::value::ConstAlloc, rustc_middle[68b3c4a9fac3c951]::mir::interpret::error::ErrorHandled>>::{closure#0}, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::mir::interpret::value::ConstAlloc, rustc_middle[68b3c4a9fac3c951]::mir::interpret::error::ErrorHandled>>
  47:        0x10c5c5cde - <rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::mir::interpret::GlobalId>, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::mir::interpret::value::ConstAlloc, rustc_middle[68b3c4a9fac3c951]::mir::interpret::error::ErrorHandled>>
  48:        0x10c522261 - rustc_data_structures[1f783f557f2a0289]::stack::ensure_sufficient_stack::<(core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::mir::interpret::value::ConstAlloc, rustc_middle[68b3c4a9fac3c951]::mir::interpret::error::ErrorHandled>, rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepNodeIndex), rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::execute_job<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::mir::interpret::GlobalId>, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::mir::interpret::value::ConstAlloc, rustc_middle[68b3c4a9fac3c951]::mir::interpret::error::ErrorHandled>>::{closure#3}>
  49:        0x10c442c48 - rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::get_query::<rustc_query_impl[89c0af106cc9882d]::queries::eval_to_allocation_raw, rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt>
  50:        0x10c584a71 - <rustc_query_impl[89c0af106cc9882d]::Queries as rustc_middle[68b3c4a9fac3c951]::ty::query::QueryEngine>::eval_to_allocation_raw
  51:        0x10bfea6fc - rustc_const_eval[90a809bfc3e821e8]::const_eval::eval_queries::eval_to_const_value_raw_provider
  52:        0x10c66abf0 - <rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind as rustc_query_system[834ba1a2d27f8a8c]::dep_graph::DepKind>::with_deps::<<rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::mir::interpret::GlobalId>, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::mir::interpret::value::ConstValue, rustc_middle[68b3c4a9fac3c951]::mir::interpret::error::ErrorHandled>>::{closure#0}, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::mir::interpret::value::ConstValue, rustc_middle[68b3c4a9fac3c951]::mir::interpret::error::ErrorHandled>>
  53:        0x10c5c63b4 - <rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::mir::interpret::GlobalId>, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::mir::interpret::value::ConstValue, rustc_middle[68b3c4a9fac3c951]::mir::interpret::error::ErrorHandled>>
  54:        0x10c5224ab - rustc_data_structures[1f783f557f2a0289]::stack::ensure_sufficient_stack::<(core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::mir::interpret::value::ConstValue, rustc_middle[68b3c4a9fac3c951]::mir::interpret::error::ErrorHandled>, rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepNodeIndex), rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::execute_job<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::mir::interpret::GlobalId>, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::mir::interpret::value::ConstValue, rustc_middle[68b3c4a9fac3c951]::mir::interpret::error::ErrorHandled>>::{closure#3}>
  55:        0x10c447114 - rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::get_query::<rustc_query_impl[89c0af106cc9882d]::queries::eval_to_const_value_raw, rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt>
  56:        0x10c584af1 - <rustc_query_impl[89c0af106cc9882d]::Queries as rustc_middle[68b3c4a9fac3c951]::ty::query::QueryEngine>::eval_to_const_value_raw
  57:        0x10d19317d - <rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt>::const_eval_global_id
  58:        0x10d1b7dba - <rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt>::const_eval_resolve
  59:        0x10d047ef7 - <rustc_infer[d9cc1da4310a337c]::infer::InferCtxt>::const_eval_resolve
  60:        0x10cf1fdf2 - rustc_data_structures[1f783f557f2a0289]::stack::ensure_sufficient_stack::<core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::traits::select::EvaluationResult, rustc_middle[68b3c4a9fac3c951]::traits::select::OverflowError>, <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluate_predicate_recursively::{closure#0}>
  61:        0x10cf980b0 - <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluate_predicate_recursively
  62:        0x10cf97f1e - <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluate_predicates_recursively::<alloc[6b2a4c4c8c58ee9a]::vec::into_iter::IntoIter<rustc_infer[d9cc1da4310a337c]::traits::Obligation<rustc_middle[68b3c4a9fac3c951]::ty::Predicate>>>
  63:        0x10cebd127 - <rustc_infer[d9cc1da4310a337c]::infer::InferCtxt>::probe::<core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::traits::select::EvaluationResult, rustc_middle[68b3c4a9fac3c951]::traits::select::OverflowError>, <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluation_probe<<rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluate_candidate::{closure#0}>::{closure#0}>
  64:        0x10cf6a680 - <core[f4889159fda6615f]::iter::adapters::map::Map<core[f4889159fda6615f]::iter::adapters::map::Map<alloc[6b2a4c4c8c58ee9a]::vec::into_iter::IntoIter<rustc_middle[68b3c4a9fac3c951]::traits::select::SelectionCandidate>, <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::candidate_from_obligation_no_cache::{closure#1}>, <core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate>, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>::transpose> as core[f4889159fda6615f]::iter::traits::iterator::Iterator>::try_fold::<(), <core[f4889159fda6615f]::iter::adapters::flatten::FlattenCompat<_, _> as core[f4889159fda6615f]::iter::traits::iterator::Iterator>::try_fold::flatten<core[f4889159fda6615f]::option::Option<core[f4889159fda6615f]::result::Result<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>, (), core[f4889159fda6615f]::ops::control_flow::ControlFlow<core[f4889159fda6615f]::ops::control_flow::ControlFlow<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate>>, <core[f4889159fda6615f]::iter::adapters::ResultShunt<core[f4889159fda6615f]::iter::adapters::flatten::FlatMap<core[f4889159fda6615f]::iter::adapters::map::Map<alloc[6b2a4c4c8c58ee9a]::vec::into_iter::IntoIter<rustc_middle[68b3c4a9fac3c951]::traits::select::SelectionCandidate>, <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::candidate_from_obligation_no_cache::{closure#1}>, core[f4889159fda6615f]::option::Option<core[f4889159fda6615f]::result::Result<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>, <core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate>, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>::transpose>, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError> as core[f4889159fda6615f]::iter::traits::iterator::Iterator>::try_fold<(), core[f4889159fda6615f]::iter::traits::iterator::Iterator::find::check<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate, <core[f4889159fda6615f]::iter::adapters::ResultShunt<core[f4889159fda6615f]::iter::adapters::flatten::FlatMap<core[f4889159fda6615f]::iter::adapters::map::Map<alloc[6b2a4c4c8c58ee9a]::vec::into_iter::IntoIter<rustc_middle[68b3c4a9fac3c951]::traits::select::SelectionCandidate>, <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::candidate_from_obligation_no_cache::{closure#1}>, core[f4889159fda6615f]::option::Option<core[f4889159fda6615f]::result::Result<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>, <core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate>, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>::transpose>, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError> as core[f4889159fda6615f]::iter::traits::iterator::Iterator>::next::{closure#0}>::{closure#0}, core[f4889159fda6615f]::ops::control_flow::ControlFlow<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate>>::{closure#0}>::{closure#0}, core[f4889159fda6615f]::ops::control_flow::ControlFlow<core[f4889159fda6615f]::ops::control_flow::ControlFlow<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate>>>
  65:        0x10cfa8087 - <core[f4889159fda6615f]::iter::adapters::ResultShunt<core[f4889159fda6615f]::iter::adapters::flatten::FlatMap<core[f4889159fda6615f]::iter::adapters::map::Map<alloc[6b2a4c4c8c58ee9a]::vec::into_iter::IntoIter<rustc_middle[68b3c4a9fac3c951]::traits::select::SelectionCandidate>, <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::candidate_from_obligation_no_cache::{closure#1}>, core[f4889159fda6615f]::option::Option<core[f4889159fda6615f]::result::Result<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>, <core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate>, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>::transpose>, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError> as core[f4889159fda6615f]::iter::traits::iterator::Iterator>::next
  66:        0x10cf4e0ea - <alloc[6b2a4c4c8c58ee9a]::vec::Vec<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate> as alloc[6b2a4c4c8c58ee9a]::vec::spec_from_iter::SpecFromIter<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate, core[f4889159fda6615f]::iter::adapters::ResultShunt<core[f4889159fda6615f]::iter::adapters::flatten::FlatMap<core[f4889159fda6615f]::iter::adapters::map::Map<alloc[6b2a4c4c8c58ee9a]::vec::into_iter::IntoIter<rustc_middle[68b3c4a9fac3c951]::traits::select::SelectionCandidate>, <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::candidate_from_obligation_no_cache::{closure#1}>, core[f4889159fda6615f]::option::Option<core[f4889159fda6615f]::result::Result<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>, <core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate>, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>::transpose>, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>>::from_iter
  67:        0x10cf877ff - <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
  68:        0x10cf9b197 - <rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_anon_task::<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::in_task<<rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::candidate_from_obligation::{closure#0}, core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_middle[68b3c4a9fac3c951]::traits::select::SelectionCandidate>, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>::{closure#0}, core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_middle[68b3c4a9fac3c951]::traits::select::SelectionCandidate>, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>
  69:        0x10cf8dfdf - <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::candidate_from_obligation
  70:        0x10cf8ba58 - <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluate_stack
  71:        0x10cf9acb6 - <rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_anon_task::<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::in_task<<rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively::{closure#1}, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::traits::select::EvaluationResult, rustc_middle[68b3c4a9fac3c951]::traits::select::OverflowError>>::{closure#0}, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::traits::select::EvaluationResult, rustc_middle[68b3c4a9fac3c951]::traits::select::OverflowError>>
  72:        0x10cf98614 - <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively
  73:        0x10cf1fe59 - rustc_data_structures[1f783f557f2a0289]::stack::ensure_sufficient_stack::<core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::traits::select::EvaluationResult, rustc_middle[68b3c4a9fac3c951]::traits::select::OverflowError>, <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluate_predicate_recursively::{closure#0}>
  74:        0x10cf980b0 - <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluate_predicate_recursively
  75:        0x10cebd41a - <rustc_infer[d9cc1da4310a337c]::infer::InferCtxt>::probe::<core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::traits::select::EvaluationResult, rustc_middle[68b3c4a9fac3c951]::traits::select::OverflowError>, <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluation_probe<<rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluate_root_obligation::{closure#0}>::{closure#0}>
  76:        0x10cf8b7ef - <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluate_root_obligation
  77:        0x10c100b9b - <rustc_infer[d9cc1da4310a337c]::infer::InferCtxtBuilder>::enter_with_canonical::<rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::ty::Predicate>, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::traits::select::EvaluationResult, rustc_middle[68b3c4a9fac3c951]::traits::select::OverflowError>, rustc_traits[2f1e4ef948d54fc2]::evaluate_obligation::evaluate_obligation::{closure#0}>
  78:        0x10c19c720 - rustc_traits[2f1e4ef948d54fc2]::evaluate_obligation::evaluate_obligation
  79:        0x10c66b65a - <rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind as rustc_query_system[834ba1a2d27f8a8c]::dep_graph::DepKind>::with_deps::<<rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, rustc_middle[68b3c4a9fac3c951]::infer::canonical::Canonical<rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::ty::Predicate>>, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::traits::select::EvaluationResult, rustc_middle[68b3c4a9fac3c951]::traits::select::OverflowError>>::{closure#0}, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::traits::select::EvaluationResult, rustc_middle[68b3c4a9fac3c951]::traits::select::OverflowError>>
  80:        0x10c5cea3d - <rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, rustc_middle[68b3c4a9fac3c951]::infer::canonical::Canonical<rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::ty::Predicate>>, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::traits::select::EvaluationResult, rustc_middle[68b3c4a9fac3c951]::traits::select::OverflowError>>
  81:        0x10c522041 - rustc_data_structures[1f783f557f2a0289]::stack::ensure_sufficient_stack::<(core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::traits::select::EvaluationResult, rustc_middle[68b3c4a9fac3c951]::traits::select::OverflowError>, rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepNodeIndex), rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::execute_job<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt, rustc_middle[68b3c4a9fac3c951]::infer::canonical::Canonical<rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::ty::Predicate>>, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::traits::select::EvaluationResult, rustc_middle[68b3c4a9fac3c951]::traits::select::OverflowError>>::{closure#3}>
  82:        0x10c43951e - rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::get_query::<rustc_query_impl[89c0af106cc9882d]::queries::evaluate_obligation, rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt>
  83:        0x10c5860c4 - <rustc_query_impl[89c0af106cc9882d]::Queries as rustc_middle[68b3c4a9fac3c951]::ty::query::QueryEngine>::evaluate_obligation
  84:        0x10cee5437 - <rustc_infer[d9cc1da4310a337c]::infer::InferCtxt as rustc_trait_selection[efff7356bb4da473]::traits::query::evaluate_obligation::InferCtxtExt>::evaluate_obligation
  85:        0x10cee5573 - <rustc_infer[d9cc1da4310a337c]::infer::InferCtxt as rustc_trait_selection[efff7356bb4da473]::traits::query::evaluate_obligation::InferCtxtExt>::evaluate_obligation_no_overflow
  86:        0x10cee40b5 - <rustc_infer[d9cc1da4310a337c]::infer::InferCtxt as rustc_trait_selection[efff7356bb4da473]::traits::error_reporting::InferCtxtPrivExt>::predicate_can_apply
  87:        0x10cedca0f - <rustc_infer[d9cc1da4310a337c]::infer::InferCtxt as rustc_trait_selection[efff7356bb4da473]::traits::error_reporting::InferCtxtExt>::report_selection_error
  88:        0x10cee5def - <rustc_infer[d9cc1da4310a337c]::infer::InferCtxt as rustc_trait_selection[efff7356bb4da473]::traits::error_reporting::InferCtxtPrivExt>::report_fulfillment_error
  89:        0x10ced8025 - <rustc_infer[d9cc1da4310a337c]::infer::InferCtxt as rustc_trait_selection[efff7356bb4da473]::traits::error_reporting::InferCtxtExt>::report_fulfillment_errors
  90:        0x10b7c55a3 - <rustc_typeck[35e8b18d584002a0]::check::fn_ctxt::FnCtxt>::check_argument_types
  91:        0x10b7a6046 - <rustc_typeck[35e8b18d584002a0]::check::fn_ctxt::FnCtxt>::confirm_builtin_call
  92:        0x10b7a3a9b - <rustc_typeck[35e8b18d584002a0]::check::fn_ctxt::FnCtxt>::check_call
  93:        0x10b7f6f3d - <rustc_typeck[35e8b18d584002a0]::check::fn_ctxt::FnCtxt>::check_expr_kind
  94:        0x10b7b7ea4 - <rustc_typeck[35e8b18d584002a0]::check::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  95:        0x10b7c917f - <rustc_typeck[35e8b18d584002a0]::check::fn_ctxt::FnCtxt>::check_stmt
  96:        0x10b7c99e4 - <rustc_typeck[35e8b18d584002a0]::check::fn_ctxt::FnCtxt>::check_block_with_expected
  97:        0x10b7b7ea4 - <rustc_typeck[35e8b18d584002a0]::check::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  98:        0x10b7b8faa - <rustc_typeck[35e8b18d584002a0]::check::fn_ctxt::FnCtxt>::check_return_expr
  99:        0x10b996555 - rustc_typeck[35e8b18d584002a0]::check::check::check_fn
 100:        0x10b8c4c23 - <rustc_infer[d9cc1da4310a337c]::infer::InferCtxtBuilder>::enter::<&rustc_middle[68b3c4a9fac3c951]::ty::context::TypeckResults, <rustc_typeck[35e8b18d584002a0]::check::inherited::InheritedBuilder>::enter<rustc_typeck[35e8b18d584002a0]::check::typeck_with_fallback<rustc_typeck[35e8b18d584002a0]::check::typeck::{closure#0}>::{closure#1}, &rustc_middle[68b3c4a9fac3c951]::ty::context::TypeckResults>::{closure#0}>
 101:        0x10b8417d7 - rustc_typeck[35e8b18d584002a0]::check::typeck
 102:        0x10c5dc3cc - <rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, rustc_span[5768cebd3d858061]::def_id::LocalDefId, &rustc_middle[68b3c4a9fac3c951]::ty::context::TypeckResults>
 103:        0x10c52dcb2 - rustc_data_structures[1f783f557f2a0289]::stack::ensure_sufficient_stack::<(&rustc_middle[68b3c4a9fac3c951]::ty::context::TypeckResults, rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepNodeIndex), rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::execute_job<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt, rustc_span[5768cebd3d858061]::def_id::LocalDefId, &rustc_middle[68b3c4a9fac3c951]::ty::context::TypeckResults>::{closure#3}>
 104:        0x10c36b166 - rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::try_execute_query::<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt, rustc_query_system[834ba1a2d27f8a8c]::query::caches::DefaultCache<rustc_span[5768cebd3d858061]::def_id::LocalDefId, &rustc_middle[68b3c4a9fac3c951]::ty::context::TypeckResults>>
 105:        0x10c4591de - rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::get_query::<rustc_query_impl[89c0af106cc9882d]::queries::typeck, rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt>
 106:        0x10b8b8db1 - <rustc_middle[68b3c4a9fac3c951]::hir::map::Map>::par_body_owners::<rustc_typeck[35e8b18d584002a0]::check::typeck_item_bodies::{closure#0}>
 107:        0x10b8462f5 - rustc_typeck[35e8b18d584002a0]::check::typeck_item_bodies
 108:        0x10c614a28 - <rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, (), ()>
 109:        0x10c532847 - rustc_data_structures[1f783f557f2a0289]::stack::ensure_sufficient_stack::<((), rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepNodeIndex), rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::execute_job<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt, (), ()>::{closure#3}>
 110:        0x10c3cb12f - rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::try_execute_query::<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt, rustc_query_system[834ba1a2d27f8a8c]::query::caches::DefaultCache<(), ()>>
 111:        0x10c4389c8 - rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::get_query::<rustc_query_impl[89c0af106cc9882d]::queries::typeck_item_bodies, rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt>
 112:        0x10b8941bc - <rustc_session[1d84db4fd929670d]::session::Session>::time::<(), rustc_typeck[35e8b18d584002a0]::check_crate::{closure#7}>
 113:        0x10b86688d - rustc_typeck[35e8b18d584002a0]::check_crate
 114:        0x108f225aa - rustc_interface[333b44aaac6b850f]::passes::analysis
 115:        0x10c60aa5c - <rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, (), core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>>
 116:        0x10c5247d5 - rustc_data_structures[1f783f557f2a0289]::stack::ensure_sufficient_stack::<(core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>, rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepNodeIndex), rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::execute_job<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt, (), core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>>::{closure#3}>
 117:        0x10c3c0f35 - rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::try_execute_query::<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt, rustc_query_system[834ba1a2d27f8a8c]::query::caches::DefaultCache<(), core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>>>
 118:        0x10c4595b5 - rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::get_query::<rustc_query_impl[89c0af106cc9882d]::queries::analysis, rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt>
 119:        0x108e3f074 - <rustc_interface[333b44aaac6b850f]::passes::QueryContext>::enter::<rustc_driver[2b55fea025b343ce]::run_compiler::{closure#1}::{closure#2}::{closure#3}, core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>>
 120:        0x108e3faf8 - <rustc_interface[333b44aaac6b850f]::interface::Compiler>::enter::<rustc_driver[2b55fea025b343ce]::run_compiler::{closure#1}::{closure#2}, core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_interface[333b44aaac6b850f]::queries::Linker>, rustc_errors[41f29db6be5cacf9]::ErrorReported>>
 121:        0x108e05c4a - rustc_span[5768cebd3d858061]::with_source_map::<core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>, rustc_interface[333b44aaac6b850f]::interface::create_compiler_and_run<core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>, rustc_driver[2b55fea025b343ce]::run_compiler::{closure#1}>::{closure#0}>
 122:        0x108e40cac - <scoped_tls[504a04b5a30bb02b]::ScopedKey<rustc_span[5768cebd3d858061]::SessionGlobals>>::set::<rustc_interface[333b44aaac6b850f]::util::setup_callbacks_and_run_in_thread_pool_with_globals<rustc_interface[333b44aaac6b850f]::interface::run_compiler<core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>, rustc_driver[2b55fea025b343ce]::run_compiler::{closure#1}>::{closure#0}, core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>>::{closure#0}::{closure#0}, core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>>
 123:        0x108e0cd82 - std[47b77c5136b0281e]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[333b44aaac6b850f]::util::setup_callbacks_and_run_in_thread_pool_with_globals<rustc_interface[333b44aaac6b850f]::interface::run_compiler<core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>, rustc_driver[2b55fea025b343ce]::run_compiler::{closure#1}>::{closure#0}, core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>>::{closure#0}, core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>>
 124:        0x108e75095 - <<std[47b77c5136b0281e]::thread::Builder>::spawn_unchecked<rustc_interface[333b44aaac6b850f]::util::setup_callbacks_and_run_in_thread_pool_with_globals<rustc_interface[333b44aaac6b850f]::interface::run_compiler<core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>, rustc_driver[2b55fea025b343ce]::run_compiler::{closure#1}>::{closure#0}, core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>>::{closure#0}, core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>>::{closure#1} as core[f4889159fda6615f]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
 125:        0x111592fb7 - std::sys::unix::thread::Thread::new::thread_start::h46222cfa881cd2bf
 126:     0x7fff204ed8fc - __pthread_start

error: internal compiler error: unexpected panic

note: 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: rustc 1.58.0-nightly (29b124802 2021-10-25) running on x86_64-apple-darwin

note: compiler flags: -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C incremental --crate-type lib

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
end of query stack
thread panicked while panicking. aborting.
warning: `test-bug-repro` (lib) generated 1 warning
error: could not compile `test-bug-repro`; 1 warning emitted

Caused by:
  process didn't exit successfully: `rustc --crate-name test_bug_repro --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C metadata=7ee82946b2a2c439 -C extra-filename=-7ee82946b2a2c439 --out-dir /private/tmp/test-bug-repro/target/debug/deps -C incremental=/private/tmp/test-bug-repro/target/debug/incremental -L dependency=/private/tmp/test-bug-repro/target/debug/deps` (signal: 4, SIGILL: illegal instruction)
Backtrace

   Compiling test-bug-repro v0.1.0 (/private/tmp/test-bug-repro)
warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
 --> src/lib.rs:1:12
  |
1 | #![feature(generic_const_exprs)]
  |            ^^^^^^^^^^^^^^^^^^^
  |
  = note: `#[warn(incomplete_features)]` on by default
  = note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information

thread 'rustc' panicked at 'Unknown variable: 0', compiler/rustc_ty_utils/src/instance.rs:46:17
stack backtrace:
   0: _rust_begin_unwind
   1: core::panicking::panic_fmt
   2: rustc_ty_utils::instance::inner_resolve_instance
   3: rustc_ty_utils::instance::resolve_instance
   4: <rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps::<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::ParamEnvAnd<(rustc_span::def_id::DefId, &rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>)>, core::result::Result<core::option::Option<rustc_middle::ty::instance::Instance>, rustc_errors::ErrorReported>>::{closure#0}, core::result::Result<core::option::Option<rustc_middle::ty::instance::Instance>, rustc_errors::ErrorReported>>
   5: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::ParamEnvAnd<(rustc_span::def_id::DefId, &rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>)>, core::result::Result<core::option::Option<rustc_middle::ty::instance::Instance>, rustc_errors::ErrorReported>>
   6: rustc_data_structures::stack::ensure_sufficient_stack::<(core::result::Result<core::option::Option<rustc_middle::ty::instance::Instance>, rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_middle::ty::ParamEnvAnd<(rustc_span::def_id::DefId, &rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>)>, core::result::Result<core::option::Option<rustc_middle::ty::instance::Instance>, rustc_errors::ErrorReported>>::{closure#3}>
   7: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::resolve_instance, rustc_query_impl::plumbing::QueryCtxt>
   8: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::resolve_instance
   9: <rustc_middle::ty::instance::Instance>::resolve_opt_const_arg
  10: <rustc_middle::ty::context::TyCtxt>::const_eval_resolve
  11: <rustc_trait_selection::traits::query::normalize::QueryNormalizer as rustc_middle::ty::fold::TypeFolder>::fold_const
  12: <rustc_trait_selection::traits::query::normalize::QueryNormalizer as rustc_middle::ty::fold::TypeFolder>::fold_mir_const
  13: <rustc_infer::infer::at::At as rustc_trait_selection::traits::query::normalize::AtExt>::normalize::<rustc_middle::mir::ConstantKind>
  14: <rustc_infer::infer::InferCtxtBuilder>::enter::<rustc_middle::mir::ConstantKind, rustc_traits::normalize_erasing_regions::normalize_after_erasing_regions<rustc_middle::mir::ConstantKind>::{closure#0}>
  15: <rustc_traits::normalize_erasing_regions::provide::{closure#1} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_middle::ty::ParamEnvAnd<rustc_middle::mir::ConstantKind>)>>::call_once
  16: <rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps::<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::ParamEnvAnd<rustc_middle::mir::ConstantKind>, rustc_middle::mir::ConstantKind>::{closure#0}, rustc_middle::mir::ConstantKind>
  17: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::ParamEnvAnd<rustc_middle::mir::ConstantKind>, rustc_middle::mir::ConstantKind>
  18: rustc_data_structures::stack::ensure_sufficient_stack::<(rustc_middle::mir::ConstantKind, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_middle::ty::ParamEnvAnd<rustc_middle::mir::ConstantKind>, rustc_middle::mir::ConstantKind>::{closure#3}>
  19: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::normalize_mir_const_after_erasing_regions, rustc_query_impl::plumbing::QueryCtxt>
  20: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::normalize_mir_const_after_erasing_regions
  21: <rustc_middle::ty::context::TyCtxt>::normalize_erasing_regions::<rustc_middle::mir::ConstantKind>
  22: <rustc_const_eval::interpret::eval_context::InterpCx<rustc_const_eval::const_eval::machine::CompileTimeInterpreter>>::push_stack_frame
  23: rustc_const_eval::const_eval::eval_queries::eval_to_allocation_raw_provider
  24: <rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps::<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::ParamEnvAnd<rustc_middle::mir::interpret::GlobalId>, core::result::Result<rustc_middle::mir::interpret::value::ConstAlloc, rustc_middle::mir::interpret::error::ErrorHandled>>::{closure#0}, core::result::Result<rustc_middle::mir::interpret::value::ConstAlloc, rustc_middle::mir::interpret::error::ErrorHandled>>
  25: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::ParamEnvAnd<rustc_middle::mir::interpret::GlobalId>, core::result::Result<rustc_middle::mir::interpret::value::ConstAlloc, rustc_middle::mir::interpret::error::ErrorHandled>>
  26: rustc_data_structures::stack::ensure_sufficient_stack::<(core::result::Result<rustc_middle::mir::interpret::value::ConstAlloc, rustc_middle::mir::interpret::error::ErrorHandled>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_middle::ty::ParamEnvAnd<rustc_middle::mir::interpret::GlobalId>, core::result::Result<rustc_middle::mir::interpret::value::ConstAlloc, rustc_middle::mir::interpret::error::ErrorHandled>>::{closure#3}>
  27: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::eval_to_allocation_raw, rustc_query_impl::plumbing::QueryCtxt>
  28: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::eval_to_allocation_raw
  29: rustc_const_eval::const_eval::eval_queries::eval_to_const_value_raw_provider
  30: <rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps::<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::ParamEnvAnd<rustc_middle::mir::interpret::GlobalId>, core::result::Result<rustc_middle::mir::interpret::value::ConstValue, rustc_middle::mir::interpret::error::ErrorHandled>>::{closure#0}, core::result::Result<rustc_middle::mir::interpret::value::ConstValue, rustc_middle::mir::interpret::error::ErrorHandled>>
  31: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::ParamEnvAnd<rustc_middle::mir::interpret::GlobalId>, core::result::Result<rustc_middle::mir::interpret::value::ConstValue, rustc_middle::mir::interpret::error::ErrorHandled>>
  32: rustc_data_structures::stack::ensure_sufficient_stack::<(core::result::Result<rustc_middle::mir::interpret::value::ConstValue, rustc_middle::mir::interpret::error::ErrorHandled>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_middle::ty::ParamEnvAnd<rustc_middle::mir::interpret::GlobalId>, core::result::Result<rustc_middle::mir::interpret::value::ConstValue, rustc_middle::mir::interpret::error::ErrorHandled>>::{closure#3}>
  33: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::eval_to_const_value_raw, rustc_query_impl::plumbing::QueryCtxt>
  34: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::eval_to_const_value_raw
  35: <rustc_middle::ty::context::TyCtxt>::const_eval_global_id
  36: <rustc_middle::ty::context::TyCtxt>::const_eval_resolve
  37: <rustc_infer::infer::InferCtxt>::const_eval_resolve
  38: rustc_data_structures::stack::ensure_sufficient_stack::<core::result::Result<rustc_middle::traits::select::EvaluationResult, rustc_middle::traits::select::OverflowError>, <rustc_trait_selection::traits::select::SelectionContext>::evaluate_predicate_recursively::{closure#0}>
  39: <rustc_trait_selection::traits::select::SelectionContext>::evaluate_predicate_recursively
  40: <rustc_trait_selection::traits::select::SelectionContext>::evaluate_predicates_recursively::<alloc::vec::into_iter::IntoIter<rustc_infer::traits::Obligation<rustc_middle::ty::Predicate>>>
  41: <rustc_infer::infer::InferCtxt>::probe::<core::result::Result<rustc_middle::traits::select::EvaluationResult, rustc_middle::traits::select::OverflowError>, <rustc_trait_selection::traits::select::SelectionContext>::evaluation_probe<<rustc_trait_selection::traits::select::SelectionContext>::evaluate_candidate::{closure#0}>::{closure#0}>
  42: <core::iter::adapters::map::Map<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<rustc_middle::traits::select::SelectionCandidate>, <rustc_trait_selection::traits::select::SelectionContext>::candidate_from_obligation_no_cache::{closure#1}>, <core::result::Result<core::option::Option<rustc_trait_selection::traits::select::EvaluatedCandidate>, rustc_middle::traits::SelectionError>>::transpose> as core::iter::traits::iterator::Iterator>::try_fold::<(), <core::iter::adapters::flatten::FlattenCompat<_, _> as core::iter::traits::iterator::Iterator>::try_fold::flatten<core::option::Option<core::result::Result<rustc_trait_selection::traits::select::EvaluatedCandidate, rustc_middle::traits::SelectionError>>, (), core::ops::control_flow::ControlFlow<core::ops::control_flow::ControlFlow<rustc_trait_selection::traits::select::EvaluatedCandidate>>, <core::iter::adapters::ResultShunt<core::iter::adapters::flatten::FlatMap<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<rustc_middle::traits::select::SelectionCandidate>, <rustc_trait_selection::traits::select::SelectionContext>::candidate_from_obligation_no_cache::{closure#1}>, core::option::Option<core::result::Result<rustc_trait_selection::traits::select::EvaluatedCandidate, rustc_middle::traits::SelectionError>>, <core::result::Result<core::option::Option<rustc_trait_selection::traits::select::EvaluatedCandidate>, rustc_middle::traits::SelectionError>>::transpose>, rustc_middle::traits::SelectionError> as core::iter::traits::iterator::Iterator>::try_fold<(), core::iter::traits::iterator::Iterator::find::check<rustc_trait_selection::traits::select::EvaluatedCandidate, <core::iter::adapters::ResultShunt<core::iter::adapters::flatten::FlatMap<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<rustc_middle::traits::select::SelectionCandidate>, <rustc_trait_selection::traits::select::SelectionContext>::candidate_from_obligation_no_cache::{closure#1}>, core::option::Option<core::result::Result<rustc_trait_selection::traits::select::EvaluatedCandidate, rustc_middle::traits::SelectionError>>, <core::result::Result<core::option::Option<rustc_trait_selection::traits::select::EvaluatedCandidate>, rustc_middle::traits::SelectionError>>::transpose>, rustc_middle::traits::SelectionError> as core::iter::traits::iterator::Iterator>::next::{closure#0}>::{closure#0}, core::ops::control_flow::ControlFlow<rustc_trait_selection::traits::select::EvaluatedCandidate>>::{closure#0}>::{closure#0}, core::ops::control_flow::ControlFlow<core::ops::control_flow::ControlFlow<rustc_trait_selection::traits::select::EvaluatedCandidate>>>
  43: <core::iter::adapters::ResultShunt<core::iter::adapters::flatten::FlatMap<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<rustc_middle::traits::select::SelectionCandidate>, <rustc_trait_selection::traits::select::SelectionContext>::candidate_from_obligation_no_cache::{closure#1}>, core::option::Option<core::result::Result<rustc_trait_selection::traits::select::EvaluatedCandidate, rustc_middle::traits::SelectionError>>, <core::result::Result<core::option::Option<rustc_trait_selection::traits::select::EvaluatedCandidate>, rustc_middle::traits::SelectionError>>::transpose>, rustc_middle::traits::SelectionError> as core::iter::traits::iterator::Iterator>::next
  44: <alloc::vec::Vec<rustc_trait_selection::traits::select::EvaluatedCandidate> as alloc::vec::spec_from_iter::SpecFromIter<rustc_trait_selection::traits::select::EvaluatedCandidate, core::iter::adapters::ResultShunt<core::iter::adapters::flatten::FlatMap<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<rustc_middle::traits::select::SelectionCandidate>, <rustc_trait_selection::traits::select::SelectionContext>::candidate_from_obligation_no_cache::{closure#1}>, core::option::Option<core::result::Result<rustc_trait_selection::traits::select::EvaluatedCandidate, rustc_middle::traits::SelectionError>>, <core::result::Result<core::option::Option<rustc_trait_selection::traits::select::EvaluatedCandidate>, rustc_middle::traits::SelectionError>>::transpose>, rustc_middle::traits::SelectionError>>>::from_iter
  45: <rustc_trait_selection::traits::select::SelectionContext>::candidate_from_obligation_no_cache
  46: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_anon_task::<rustc_middle::ty::context::TyCtxt, <rustc_trait_selection::traits::select::SelectionContext>::in_task<<rustc_trait_selection::traits::select::SelectionContext>::candidate_from_obligation::{closure#0}, core::result::Result<core::option::Option<rustc_middle::traits::select::SelectionCandidate>, rustc_middle::traits::SelectionError>>::{closure#0}, core::result::Result<core::option::Option<rustc_middle::traits::select::SelectionCandidate>, rustc_middle::traits::SelectionError>>
  47: <rustc_trait_selection::traits::select::SelectionContext>::candidate_from_obligation
  48: <rustc_trait_selection::traits::select::SelectionContext>::evaluate_stack
  49: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_anon_task::<rustc_middle::ty::context::TyCtxt, <rustc_trait_selection::traits::select::SelectionContext>::in_task<<rustc_trait_selection::traits::select::SelectionContext>::evaluate_trait_predicate_recursively::{closure#1}, core::result::Result<rustc_middle::traits::select::EvaluationResult, rustc_middle::traits::select::OverflowError>>::{closure#0}, core::result::Result<rustc_middle::traits::select::EvaluationResult, rustc_middle::traits::select::OverflowError>>
  50: <rustc_trait_selection::traits::select::SelectionContext>::evaluate_trait_predicate_recursively
  51: rustc_data_structures::stack::ensure_sufficient_stack::<core::result::Result<rustc_middle::traits::select::EvaluationResult, rustc_middle::traits::select::OverflowError>, <rustc_trait_selection::traits::select::SelectionContext>::evaluate_predicate_recursively::{closure#0}>
  52: <rustc_trait_selection::traits::select::SelectionContext>::evaluate_predicate_recursively
  53: <rustc_infer::infer::InferCtxt>::probe::<core::result::Result<rustc_middle::traits::select::EvaluationResult, rustc_middle::traits::select::OverflowError>, <rustc_trait_selection::traits::select::SelectionContext>::evaluation_probe<<rustc_trait_selection::traits::select::SelectionContext>::evaluate_root_obligation::{closure#0}>::{closure#0}>
  54: <rustc_trait_selection::traits::select::SelectionContext>::evaluate_root_obligation
  55: <rustc_infer::infer::InferCtxtBuilder>::enter_with_canonical::<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::Predicate>, core::result::Result<rustc_middle::traits::select::EvaluationResult, rustc_middle::traits::select::OverflowError>, rustc_traits::evaluate_obligation::evaluate_obligation::{closure#0}>
  56: rustc_traits::evaluate_obligation::evaluate_obligation
  57: <rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps::<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, rustc_middle::infer::canonical::Canonical<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::Predicate>>, core::result::Result<rustc_middle::traits::select::EvaluationResult, rustc_middle::traits::select::OverflowError>>::{closure#0}, core::result::Result<rustc_middle::traits::select::EvaluationResult, rustc_middle::traits::select::OverflowError>>
  58: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, rustc_middle::infer::canonical::Canonical<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::Predicate>>, core::result::Result<rustc_middle::traits::select::EvaluationResult, rustc_middle::traits::select::OverflowError>>
  59: rustc_data_structures::stack::ensure_sufficient_stack::<(core::result::Result<rustc_middle::traits::select::EvaluationResult, rustc_middle::traits::select::OverflowError>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_middle::infer::canonical::Canonical<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::Predicate>>, core::result::Result<rustc_middle::traits::select::EvaluationResult, rustc_middle::traits::select::OverflowError>>::{closure#3}>
  60: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::evaluate_obligation, rustc_query_impl::plumbing::QueryCtxt>
  61: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::evaluate_obligation
  62: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt>::evaluate_obligation
  63: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt>::evaluate_obligation_no_overflow
  64: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::predicate_can_apply
  65: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtExt>::report_selection_error
  66: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt>::report_fulfillment_error
  67: <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::error_reporting::InferCtxtExt>::report_fulfillment_errors
  68: <rustc_typeck::check::fn_ctxt::FnCtxt>::check_argument_types
  69: <rustc_typeck::check::fn_ctxt::FnCtxt>::confirm_builtin_call
  70: <rustc_typeck::check::fn_ctxt::FnCtxt>::check_call
  71: <rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_kind
  72: <rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  73: <rustc_typeck::check::fn_ctxt::FnCtxt>::check_stmt
  74: <rustc_typeck::check::fn_ctxt::FnCtxt>::check_block_with_expected
  75: <rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  76: <rustc_typeck::check::fn_ctxt::FnCtxt>::check_return_expr
  77: rustc_typeck::check::check::check_fn
  78: <rustc_infer::infer::InferCtxtBuilder>::enter::<&rustc_middle::ty::context::TypeckResults, <rustc_typeck::check::inherited::InheritedBuilder>::enter<rustc_typeck::check::typeck_with_fallback<rustc_typeck::check::typeck::{closure#0}>::{closure#1}, &rustc_middle::ty::context::TypeckResults>::{closure#0}>
  79: rustc_typeck::check::typeck
  80: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::ty::context::TypeckResults>
  81: rustc_data_structures::stack::ensure_sufficient_stack::<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::ty::context::TypeckResults>::{closure#3}>
  82: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::plumbing::QueryCtxt, rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::LocalDefId, &rustc_middle::ty::context::TypeckResults>>
  83: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::typeck, rustc_query_impl::plumbing::QueryCtxt>
  84: <rustc_middle::hir::map::Map>::par_body_owners::<rustc_typeck::check::typeck_item_bodies::{closure#0}>
  85: rustc_typeck::check::typeck_item_bodies
  86: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, (), ()>
  87: rustc_data_structures::stack::ensure_sufficient_stack::<((), rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, (), ()>::{closure#3}>
  88: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::plumbing::QueryCtxt, rustc_query_system::query::caches::DefaultCache<(), ()>>
  89: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::typeck_item_bodies, rustc_query_impl::plumbing::QueryCtxt>
  90: <rustc_session::session::Session>::time::<(), rustc_typeck::check_crate::{closure#7}>
  91: rustc_typeck::check_crate
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

error: internal compiler error: unexpected panic

note: 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: rustc 1.58.0-nightly (29b124802 2021-10-25) running on x86_64-apple-darwin

note: compiler flags: -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C incremental --crate-type lib

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
thread 'rustc' panicked at 'substs of instance DefId(0:4 ~ test_bug_repro[ba13]::TyNum::VAL) not normalized for codegen: [^1]', compiler/rustc_middle/src/ty/instance.rs:303:9
stack backtrace:
   0:        0x100cb3801 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hec762383110a7685
   1:        0x100d046eb - core::fmt::write::h2d5ecb4b9764759c
   2:        0x100ca4e1a - std::io::Write::write_fmt::h9d7d3ae333151289
   3:        0x100cb6965 - std::panicking::default_hook::{{closure}}::h552de0233eed7dab
   4:        0x100cb654f - std::panicking::default_hook::hf4e8e1e5a5c43b90
   5:        0x103f4f298 - rustc_driver[2b55fea025b343ce]::DEFAULT_HOOK::{closure#0}::{closure#0}
   6:        0x100cb71a6 - std::panicking::rust_panic_with_hook::h7c7e0153f3e14d6b
   7:        0x100cb6c1e - std::panicking::begin_panic_handler::{{closure}}::h3c7f7ffd2b05c635
   8:        0x100cb3c77 - std::sys_common::backtrace::__rust_end_short_backtrace::h3bdf4f6c89eee6ea
   9:        0x100cb6b8a - _rust_begin_unwind
  10:        0x100d2f55f - core::panicking::panic_fmt::h88a1b6fbb9084d2c
  11:        0x1083796b5 - <rustc_middle[68b3c4a9fac3c951]::ty::instance::Instance>::new
  12:        0x10788d389 - <std[47b77c5136b0281e]::thread::local::LocalKey<core[f4889159fda6615f]::cell::Cell<bool>>>::with::<rustc_middle[68b3c4a9fac3c951]::ty::print::pretty::with_forced_impl_filename_line<rustc_query_impl[89c0af106cc9882d]::make_query::resolve_instance::{closure#0}::{closure#0}, alloc[6b2a4c4c8c58ee9a]::string::String>::{closure#0}, alloc[6b2a4c4c8c58ee9a]::string::String>
  13:        0x10763b23d - rustc_query_impl[89c0af106cc9882d]::make_query::resolve_instance
  14:        0x10744b7e1 - <rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::QueryState<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<(rustc_span[5768cebd3d858061]::def_id::DefId, &rustc_middle[68b3c4a9fac3c951]::ty::list::List<rustc_middle[68b3c4a9fac3c951]::ty::subst::GenericArg>)>>>::try_collect_active_jobs::<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt>
  15:        0x1076dc8b3 - <rustc_query_impl[89c0af106cc9882d]::Queries>::try_collect_active_jobs
  16:        0x10785662f - rustc_query_system[834ba1a2d27f8a8c]::query::job::print_query_stack::<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt>
  17:        0x104134822 - rustc_interface[333b44aaac6b850f]::interface::try_print_query_stack
  18:        0x103f4ff58 - rustc_driver[2b55fea025b343ce]::report_ice
  19:        0x100cb71a6 - std::panicking::rust_panic_with_hook::h7c7e0153f3e14d6b
  20:        0x100cb6c1e - std::panicking::begin_panic_handler::{{closure}}::h3c7f7ffd2b05c635
  21:        0x100cb3c77 - std::sys_common::backtrace::__rust_end_short_backtrace::h3bdf4f6c89eee6ea
  22:        0x100cb6b8a - _rust_begin_unwind
  23:        0x100d2f55f - core::panicking::panic_fmt::h88a1b6fbb9084d2c
  24:        0x106b65963 - rustc_ty_utils[8a0c1da3457f419a]::instance::inner_resolve_instance
  25:        0x106b62f39 - rustc_ty_utils[8a0c1da3457f419a]::instance::resolve_instance
  26:        0x1077c4138 - <rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind as rustc_query_system[834ba1a2d27f8a8c]::dep_graph::DepKind>::with_deps::<<rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<(rustc_span[5768cebd3d858061]::def_id::DefId, &rustc_middle[68b3c4a9fac3c951]::ty::list::List<rustc_middle[68b3c4a9fac3c951]::ty::subst::GenericArg>)>, core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_middle[68b3c4a9fac3c951]::ty::instance::Instance>, rustc_errors[41f29db6be5cacf9]::ErrorReported>>::{closure#0}, core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_middle[68b3c4a9fac3c951]::ty::instance::Instance>, rustc_errors[41f29db6be5cacf9]::ErrorReported>>
  27:        0x10772357d - <rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<(rustc_span[5768cebd3d858061]::def_id::DefId, &rustc_middle[68b3c4a9fac3c951]::ty::list::List<rustc_middle[68b3c4a9fac3c951]::ty::subst::GenericArg>)>, core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_middle[68b3c4a9fac3c951]::ty::instance::Instance>, rustc_errors[41f29db6be5cacf9]::ErrorReported>>
  28:        0x10767a384 - rustc_data_structures[1f783f557f2a0289]::stack::ensure_sufficient_stack::<(core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_middle[68b3c4a9fac3c951]::ty::instance::Instance>, rustc_errors[41f29db6be5cacf9]::ErrorReported>, rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepNodeIndex), rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::execute_job<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<(rustc_span[5768cebd3d858061]::def_id::DefId, &rustc_middle[68b3c4a9fac3c951]::ty::list::List<rustc_middle[68b3c4a9fac3c951]::ty::subst::GenericArg>)>, core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_middle[68b3c4a9fac3c951]::ty::instance::Instance>, rustc_errors[41f29db6be5cacf9]::ErrorReported>>::{closure#3}>
  29:        0x10758c1f3 - rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::get_query::<rustc_query_impl[89c0af106cc9882d]::queries::resolve_instance, rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt>
  30:        0x1076df569 - <rustc_query_impl[89c0af106cc9882d]::Queries as rustc_middle[68b3c4a9fac3c951]::ty::query::QueryEngine>::resolve_instance
  31:        0x108387957 - <rustc_middle[68b3c4a9fac3c951]::ty::instance::Instance>::resolve_opt_const_arg
  32:        0x108310d41 - <rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt>::const_eval_resolve
  33:        0x10812e1a3 - <rustc_trait_selection[efff7356bb4da473]::traits::query::normalize::QueryNormalizer as rustc_middle[68b3c4a9fac3c951]::ty::fold::TypeFolder>::fold_const
  34:        0x10812e34b - <rustc_trait_selection[efff7356bb4da473]::traits::query::normalize::QueryNormalizer as rustc_middle[68b3c4a9fac3c951]::ty::fold::TypeFolder>::fold_mir_const
  35:        0x107342d9a - <rustc_infer[d9cc1da4310a337c]::infer::at::At as rustc_trait_selection[efff7356bb4da473]::traits::query::normalize::AtExt>::normalize::<rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind>
  36:        0x10725b66c - <rustc_infer[d9cc1da4310a337c]::infer::InferCtxtBuilder>::enter::<rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind, rustc_traits[2f1e4ef948d54fc2]::normalize_erasing_regions::normalize_after_erasing_regions<rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind>::{closure#0}>
  37:        0x107326e0a - <rustc_traits[2f1e4ef948d54fc2]::normalize_erasing_regions::provide::{closure#1} as core[f4889159fda6615f]::ops::function::FnOnce<(rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind>)>>::call_once
  38:        0x1077c39b8 - <rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind as rustc_query_system[834ba1a2d27f8a8c]::dep_graph::DepKind>::with_deps::<<rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind>, rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind>::{closure#0}, rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind>
  39:        0x10771dfca - <rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind>, rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind>
  40:        0x1076803d5 - rustc_data_structures[1f783f557f2a0289]::stack::ensure_sufficient_stack::<(rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind, rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepNodeIndex), rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::execute_job<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind>, rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind>::{closure#3}>
  41:        0x1075afc1a - rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::get_query::<rustc_query_impl[89c0af106cc9882d]::queries::normalize_mir_const_after_erasing_regions, rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt>
  42:        0x1076defc9 - <rustc_query_impl[89c0af106cc9882d]::Queries as rustc_middle[68b3c4a9fac3c951]::ty::query::QueryEngine>::normalize_mir_const_after_erasing_regions
  43:        0x1071383f9 - <rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt>::normalize_erasing_regions::<rustc_middle[68b3c4a9fac3c951]::mir::ConstantKind>
  44:        0x1070f7489 - <rustc_const_eval[90a809bfc3e821e8]::interpret::eval_context::InterpCx<rustc_const_eval[90a809bfc3e821e8]::const_eval::machine::CompileTimeInterpreter>>::push_stack_frame
  45:        0x1071452c0 - rustc_const_eval[90a809bfc3e821e8]::const_eval::eval_queries::eval_to_allocation_raw_provider
  46:        0x1077c3ad0 - <rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind as rustc_query_system[834ba1a2d27f8a8c]::dep_graph::DepKind>::with_deps::<<rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::mir::interpret::GlobalId>, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::mir::interpret::value::ConstAlloc, rustc_middle[68b3c4a9fac3c951]::mir::interpret::error::ErrorHandled>>::{closure#0}, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::mir::interpret::value::ConstAlloc, rustc_middle[68b3c4a9fac3c951]::mir::interpret::error::ErrorHandled>>
  47:        0x10771ecde - <rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::mir::interpret::GlobalId>, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::mir::interpret::value::ConstAlloc, rustc_middle[68b3c4a9fac3c951]::mir::interpret::error::ErrorHandled>>
  48:        0x10767b261 - rustc_data_structures[1f783f557f2a0289]::stack::ensure_sufficient_stack::<(core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::mir::interpret::value::ConstAlloc, rustc_middle[68b3c4a9fac3c951]::mir::interpret::error::ErrorHandled>, rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepNodeIndex), rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::execute_job<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::mir::interpret::GlobalId>, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::mir::interpret::value::ConstAlloc, rustc_middle[68b3c4a9fac3c951]::mir::interpret::error::ErrorHandled>>::{closure#3}>
  49:        0x10759bc48 - rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::get_query::<rustc_query_impl[89c0af106cc9882d]::queries::eval_to_allocation_raw, rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt>
  50:        0x1076dda71 - <rustc_query_impl[89c0af106cc9882d]::Queries as rustc_middle[68b3c4a9fac3c951]::ty::query::QueryEngine>::eval_to_allocation_raw
  51:        0x1071436fc - rustc_const_eval[90a809bfc3e821e8]::const_eval::eval_queries::eval_to_const_value_raw_provider
  52:        0x1077c3bf0 - <rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind as rustc_query_system[834ba1a2d27f8a8c]::dep_graph::DepKind>::with_deps::<<rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::mir::interpret::GlobalId>, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::mir::interpret::value::ConstValue, rustc_middle[68b3c4a9fac3c951]::mir::interpret::error::ErrorHandled>>::{closure#0}, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::mir::interpret::value::ConstValue, rustc_middle[68b3c4a9fac3c951]::mir::interpret::error::ErrorHandled>>
  53:        0x10771f3b4 - <rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::mir::interpret::GlobalId>, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::mir::interpret::value::ConstValue, rustc_middle[68b3c4a9fac3c951]::mir::interpret::error::ErrorHandled>>
  54:        0x10767b4ab - rustc_data_structures[1f783f557f2a0289]::stack::ensure_sufficient_stack::<(core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::mir::interpret::value::ConstValue, rustc_middle[68b3c4a9fac3c951]::mir::interpret::error::ErrorHandled>, rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepNodeIndex), rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::execute_job<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt, rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::mir::interpret::GlobalId>, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::mir::interpret::value::ConstValue, rustc_middle[68b3c4a9fac3c951]::mir::interpret::error::ErrorHandled>>::{closure#3}>
  55:        0x1075a0114 - rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::get_query::<rustc_query_impl[89c0af106cc9882d]::queries::eval_to_const_value_raw, rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt>
  56:        0x1076ddaf1 - <rustc_query_impl[89c0af106cc9882d]::Queries as rustc_middle[68b3c4a9fac3c951]::ty::query::QueryEngine>::eval_to_const_value_raw
  57:        0x1082ec17d - <rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt>::const_eval_global_id
  58:        0x108310dba - <rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt>::const_eval_resolve
  59:        0x1081a0ef7 - <rustc_infer[d9cc1da4310a337c]::infer::InferCtxt>::const_eval_resolve
  60:        0x108078df2 - rustc_data_structures[1f783f557f2a0289]::stack::ensure_sufficient_stack::<core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::traits::select::EvaluationResult, rustc_middle[68b3c4a9fac3c951]::traits::select::OverflowError>, <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluate_predicate_recursively::{closure#0}>
  61:        0x1080f10b0 - <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluate_predicate_recursively
  62:        0x1080f0f1e - <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluate_predicates_recursively::<alloc[6b2a4c4c8c58ee9a]::vec::into_iter::IntoIter<rustc_infer[d9cc1da4310a337c]::traits::Obligation<rustc_middle[68b3c4a9fac3c951]::ty::Predicate>>>
  63:        0x108016127 - <rustc_infer[d9cc1da4310a337c]::infer::InferCtxt>::probe::<core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::traits::select::EvaluationResult, rustc_middle[68b3c4a9fac3c951]::traits::select::OverflowError>, <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluation_probe<<rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluate_candidate::{closure#0}>::{closure#0}>
  64:        0x1080c3680 - <core[f4889159fda6615f]::iter::adapters::map::Map<core[f4889159fda6615f]::iter::adapters::map::Map<alloc[6b2a4c4c8c58ee9a]::vec::into_iter::IntoIter<rustc_middle[68b3c4a9fac3c951]::traits::select::SelectionCandidate>, <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::candidate_from_obligation_no_cache::{closure#1}>, <core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate>, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>::transpose> as core[f4889159fda6615f]::iter::traits::iterator::Iterator>::try_fold::<(), <core[f4889159fda6615f]::iter::adapters::flatten::FlattenCompat<_, _> as core[f4889159fda6615f]::iter::traits::iterator::Iterator>::try_fold::flatten<core[f4889159fda6615f]::option::Option<core[f4889159fda6615f]::result::Result<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>, (), core[f4889159fda6615f]::ops::control_flow::ControlFlow<core[f4889159fda6615f]::ops::control_flow::ControlFlow<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate>>, <core[f4889159fda6615f]::iter::adapters::ResultShunt<core[f4889159fda6615f]::iter::adapters::flatten::FlatMap<core[f4889159fda6615f]::iter::adapters::map::Map<alloc[6b2a4c4c8c58ee9a]::vec::into_iter::IntoIter<rustc_middle[68b3c4a9fac3c951]::traits::select::SelectionCandidate>, <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::candidate_from_obligation_no_cache::{closure#1}>, core[f4889159fda6615f]::option::Option<core[f4889159fda6615f]::result::Result<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>, <core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate>, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>::transpose>, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError> as core[f4889159fda6615f]::iter::traits::iterator::Iterator>::try_fold<(), core[f4889159fda6615f]::iter::traits::iterator::Iterator::find::check<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate, <core[f4889159fda6615f]::iter::adapters::ResultShunt<core[f4889159fda6615f]::iter::adapters::flatten::FlatMap<core[f4889159fda6615f]::iter::adapters::map::Map<alloc[6b2a4c4c8c58ee9a]::vec::into_iter::IntoIter<rustc_middle[68b3c4a9fac3c951]::traits::select::SelectionCandidate>, <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::candidate_from_obligation_no_cache::{closure#1}>, core[f4889159fda6615f]::option::Option<core[f4889159fda6615f]::result::Result<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>, <core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate>, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>::transpose>, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError> as core[f4889159fda6615f]::iter::traits::iterator::Iterator>::next::{closure#0}>::{closure#0}, core[f4889159fda6615f]::ops::control_flow::ControlFlow<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate>>::{closure#0}>::{closure#0}, core[f4889159fda6615f]::ops::control_flow::ControlFlow<core[f4889159fda6615f]::ops::control_flow::ControlFlow<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate>>>
  65:        0x108101087 - <core[f4889159fda6615f]::iter::adapters::ResultShunt<core[f4889159fda6615f]::iter::adapters::flatten::FlatMap<core[f4889159fda6615f]::iter::adapters::map::Map<alloc[6b2a4c4c8c58ee9a]::vec::into_iter::IntoIter<rustc_middle[68b3c4a9fac3c951]::traits::select::SelectionCandidate>, <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::candidate_from_obligation_no_cache::{closure#1}>, core[f4889159fda6615f]::option::Option<core[f4889159fda6615f]::result::Result<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>, <core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate>, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>::transpose>, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError> as core[f4889159fda6615f]::iter::traits::iterator::Iterator>::next
  66:        0x1080a70ea - <alloc[6b2a4c4c8c58ee9a]::vec::Vec<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate> as alloc[6b2a4c4c8c58ee9a]::vec::spec_from_iter::SpecFromIter<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate, core[f4889159fda6615f]::iter::adapters::ResultShunt<core[f4889159fda6615f]::iter::adapters::flatten::FlatMap<core[f4889159fda6615f]::iter::adapters::map::Map<alloc[6b2a4c4c8c58ee9a]::vec::into_iter::IntoIter<rustc_middle[68b3c4a9fac3c951]::traits::select::SelectionCandidate>, <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::candidate_from_obligation_no_cache::{closure#1}>, core[f4889159fda6615f]::option::Option<core[f4889159fda6615f]::result::Result<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>, <core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_trait_selection[efff7356bb4da473]::traits::select::EvaluatedCandidate>, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>::transpose>, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>>::from_iter
  67:        0x1080e07ff - <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
  68:        0x1080f4197 - <rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_anon_task::<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::in_task<<rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::candidate_from_obligation::{closure#0}, core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_middle[68b3c4a9fac3c951]::traits::select::SelectionCandidate>, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>::{closure#0}, core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_middle[68b3c4a9fac3c951]::traits::select::SelectionCandidate>, rustc_middle[68b3c4a9fac3c951]::traits::SelectionError>>
  69:        0x1080e6fdf - <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::candidate_from_obligation
  70:        0x1080e4a58 - <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluate_stack
  71:        0x1080f3cb6 - <rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_anon_task::<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::in_task<<rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively::{closure#1}, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::traits::select::EvaluationResult, rustc_middle[68b3c4a9fac3c951]::traits::select::OverflowError>>::{closure#0}, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::traits::select::EvaluationResult, rustc_middle[68b3c4a9fac3c951]::traits::select::OverflowError>>
  72:        0x1080f1614 - <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively
  73:        0x108078e59 - rustc_data_structures[1f783f557f2a0289]::stack::ensure_sufficient_stack::<core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::traits::select::EvaluationResult, rustc_middle[68b3c4a9fac3c951]::traits::select::OverflowError>, <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluate_predicate_recursively::{closure#0}>
  74:        0x1080f10b0 - <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluate_predicate_recursively
  75:        0x10801641a - <rustc_infer[d9cc1da4310a337c]::infer::InferCtxt>::probe::<core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::traits::select::EvaluationResult, rustc_middle[68b3c4a9fac3c951]::traits::select::OverflowError>, <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluation_probe<<rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluate_root_obligation::{closure#0}>::{closure#0}>
  76:        0x1080e47ef - <rustc_trait_selection[efff7356bb4da473]::traits::select::SelectionContext>::evaluate_root_obligation
  77:        0x107259b9b - <rustc_infer[d9cc1da4310a337c]::infer::InferCtxtBuilder>::enter_with_canonical::<rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::ty::Predicate>, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::traits::select::EvaluationResult, rustc_middle[68b3c4a9fac3c951]::traits::select::OverflowError>, rustc_traits[2f1e4ef948d54fc2]::evaluate_obligation::evaluate_obligation::{closure#0}>
  78:        0x1072f5720 - rustc_traits[2f1e4ef948d54fc2]::evaluate_obligation::evaluate_obligation
  79:        0x1077c465a - <rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind as rustc_query_system[834ba1a2d27f8a8c]::dep_graph::DepKind>::with_deps::<<rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, rustc_middle[68b3c4a9fac3c951]::infer::canonical::Canonical<rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::ty::Predicate>>, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::traits::select::EvaluationResult, rustc_middle[68b3c4a9fac3c951]::traits::select::OverflowError>>::{closure#0}, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::traits::select::EvaluationResult, rustc_middle[68b3c4a9fac3c951]::traits::select::OverflowError>>
  80:        0x107727a3d - <rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, rustc_middle[68b3c4a9fac3c951]::infer::canonical::Canonical<rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::ty::Predicate>>, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::traits::select::EvaluationResult, rustc_middle[68b3c4a9fac3c951]::traits::select::OverflowError>>
  81:        0x10767b041 - rustc_data_structures[1f783f557f2a0289]::stack::ensure_sufficient_stack::<(core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::traits::select::EvaluationResult, rustc_middle[68b3c4a9fac3c951]::traits::select::OverflowError>, rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepNodeIndex), rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::execute_job<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt, rustc_middle[68b3c4a9fac3c951]::infer::canonical::Canonical<rustc_middle[68b3c4a9fac3c951]::ty::ParamEnvAnd<rustc_middle[68b3c4a9fac3c951]::ty::Predicate>>, core[f4889159fda6615f]::result::Result<rustc_middle[68b3c4a9fac3c951]::traits::select::EvaluationResult, rustc_middle[68b3c4a9fac3c951]::traits::select::OverflowError>>::{closure#3}>
  82:        0x10759251e - rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::get_query::<rustc_query_impl[89c0af106cc9882d]::queries::evaluate_obligation, rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt>
  83:        0x1076df0c4 - <rustc_query_impl[89c0af106cc9882d]::Queries as rustc_middle[68b3c4a9fac3c951]::ty::query::QueryEngine>::evaluate_obligation
  84:        0x10803e437 - <rustc_infer[d9cc1da4310a337c]::infer::InferCtxt as rustc_trait_selection[efff7356bb4da473]::traits::query::evaluate_obligation::InferCtxtExt>::evaluate_obligation
  85:        0x10803e573 - <rustc_infer[d9cc1da4310a337c]::infer::InferCtxt as rustc_trait_selection[efff7356bb4da473]::traits::query::evaluate_obligation::InferCtxtExt>::evaluate_obligation_no_overflow
  86:        0x10803d0b5 - <rustc_infer[d9cc1da4310a337c]::infer::InferCtxt as rustc_trait_selection[efff7356bb4da473]::traits::error_reporting::InferCtxtPrivExt>::predicate_can_apply
  87:        0x108035a0f - <rustc_infer[d9cc1da4310a337c]::infer::InferCtxt as rustc_trait_selection[efff7356bb4da473]::traits::error_reporting::InferCtxtExt>::report_selection_error
  88:        0x10803edef - <rustc_infer[d9cc1da4310a337c]::infer::InferCtxt as rustc_trait_selection[efff7356bb4da473]::traits::error_reporting::InferCtxtPrivExt>::report_fulfillment_error
  89:        0x108031025 - <rustc_infer[d9cc1da4310a337c]::infer::InferCtxt as rustc_trait_selection[efff7356bb4da473]::traits::error_reporting::InferCtxtExt>::report_fulfillment_errors
  90:        0x10691e5a3 - <rustc_typeck[35e8b18d584002a0]::check::fn_ctxt::FnCtxt>::check_argument_types
  91:        0x1068ff046 - <rustc_typeck[35e8b18d584002a0]::check::fn_ctxt::FnCtxt>::confirm_builtin_call
  92:        0x1068fca9b - <rustc_typeck[35e8b18d584002a0]::check::fn_ctxt::FnCtxt>::check_call
  93:        0x10694ff3d - <rustc_typeck[35e8b18d584002a0]::check::fn_ctxt::FnCtxt>::check_expr_kind
  94:        0x106910ea4 - <rustc_typeck[35e8b18d584002a0]::check::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  95:        0x10692217f - <rustc_typeck[35e8b18d584002a0]::check::fn_ctxt::FnCtxt>::check_stmt
  96:        0x1069229e4 - <rustc_typeck[35e8b18d584002a0]::check::fn_ctxt::FnCtxt>::check_block_with_expected
  97:        0x106910ea4 - <rustc_typeck[35e8b18d584002a0]::check::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  98:        0x106911faa - <rustc_typeck[35e8b18d584002a0]::check::fn_ctxt::FnCtxt>::check_return_expr
  99:        0x106aef555 - rustc_typeck[35e8b18d584002a0]::check::check::check_fn
 100:        0x106a1dc23 - <rustc_infer[d9cc1da4310a337c]::infer::InferCtxtBuilder>::enter::<&rustc_middle[68b3c4a9fac3c951]::ty::context::TypeckResults, <rustc_typeck[35e8b18d584002a0]::check::inherited::InheritedBuilder>::enter<rustc_typeck[35e8b18d584002a0]::check::typeck_with_fallback<rustc_typeck[35e8b18d584002a0]::check::typeck::{closure#0}>::{closure#1}, &rustc_middle[68b3c4a9fac3c951]::ty::context::TypeckResults>::{closure#0}>
 101:        0x10699a7d7 - rustc_typeck[35e8b18d584002a0]::check::typeck
 102:        0x1077353cc - <rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, rustc_span[5768cebd3d858061]::def_id::LocalDefId, &rustc_middle[68b3c4a9fac3c951]::ty::context::TypeckResults>
 103:        0x107686cb2 - rustc_data_structures[1f783f557f2a0289]::stack::ensure_sufficient_stack::<(&rustc_middle[68b3c4a9fac3c951]::ty::context::TypeckResults, rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepNodeIndex), rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::execute_job<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt, rustc_span[5768cebd3d858061]::def_id::LocalDefId, &rustc_middle[68b3c4a9fac3c951]::ty::context::TypeckResults>::{closure#3}>
 104:        0x1074c4166 - rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::try_execute_query::<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt, rustc_query_system[834ba1a2d27f8a8c]::query::caches::DefaultCache<rustc_span[5768cebd3d858061]::def_id::LocalDefId, &rustc_middle[68b3c4a9fac3c951]::ty::context::TypeckResults>>
 105:        0x1075b21de - rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::get_query::<rustc_query_impl[89c0af106cc9882d]::queries::typeck, rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt>
 106:        0x106a11db1 - <rustc_middle[68b3c4a9fac3c951]::hir::map::Map>::par_body_owners::<rustc_typeck[35e8b18d584002a0]::check::typeck_item_bodies::{closure#0}>
 107:        0x10699f2f5 - rustc_typeck[35e8b18d584002a0]::check::typeck_item_bodies
 108:        0x10776da28 - <rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, (), ()>
 109:        0x10768b847 - rustc_data_structures[1f783f557f2a0289]::stack::ensure_sufficient_stack::<((), rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepNodeIndex), rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::execute_job<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt, (), ()>::{closure#3}>
 110:        0x10752412f - rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::try_execute_query::<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt, rustc_query_system[834ba1a2d27f8a8c]::query::caches::DefaultCache<(), ()>>
 111:        0x1075919c8 - rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::get_query::<rustc_query_impl[89c0af106cc9882d]::queries::typeck_item_bodies, rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt>
 112:        0x1069ed1bc - <rustc_session[1d84db4fd929670d]::session::Session>::time::<(), rustc_typeck[35e8b18d584002a0]::check_crate::{closure#7}>
 113:        0x1069bf88d - rustc_typeck[35e8b18d584002a0]::check_crate
 114:        0x10407b5aa - rustc_interface[333b44aaac6b850f]::passes::analysis
 115:        0x107763a5c - <rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepGraph<rustc_middle[68b3c4a9fac3c951]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[68b3c4a9fac3c951]::ty::context::TyCtxt, (), core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>>
 116:        0x10767d7d5 - rustc_data_structures[1f783f557f2a0289]::stack::ensure_sufficient_stack::<(core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>, rustc_query_system[834ba1a2d27f8a8c]::dep_graph::graph::DepNodeIndex), rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::execute_job<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt, (), core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>>::{closure#3}>
 117:        0x107519f35 - rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::try_execute_query::<rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt, rustc_query_system[834ba1a2d27f8a8c]::query::caches::DefaultCache<(), core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>>>
 118:        0x1075b25b5 - rustc_query_system[834ba1a2d27f8a8c]::query::plumbing::get_query::<rustc_query_impl[89c0af106cc9882d]::queries::analysis, rustc_query_impl[89c0af106cc9882d]::plumbing::QueryCtxt>
 119:        0x103f98074 - <rustc_interface[333b44aaac6b850f]::passes::QueryContext>::enter::<rustc_driver[2b55fea025b343ce]::run_compiler::{closure#1}::{closure#2}::{closure#3}, core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>>
 120:        0x103f98af8 - <rustc_interface[333b44aaac6b850f]::interface::Compiler>::enter::<rustc_driver[2b55fea025b343ce]::run_compiler::{closure#1}::{closure#2}, core[f4889159fda6615f]::result::Result<core[f4889159fda6615f]::option::Option<rustc_interface[333b44aaac6b850f]::queries::Linker>, rustc_errors[41f29db6be5cacf9]::ErrorReported>>
 121:        0x103f5ec4a - rustc_span[5768cebd3d858061]::with_source_map::<core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>, rustc_interface[333b44aaac6b850f]::interface::create_compiler_and_run<core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>, rustc_driver[2b55fea025b343ce]::run_compiler::{closure#1}>::{closure#0}>
 122:        0x103f99cac - <scoped_tls[504a04b5a30bb02b]::ScopedKey<rustc_span[5768cebd3d858061]::SessionGlobals>>::set::<rustc_interface[333b44aaac6b850f]::util::setup_callbacks_and_run_in_thread_pool_with_globals<rustc_interface[333b44aaac6b850f]::interface::run_compiler<core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>, rustc_driver[2b55fea025b343ce]::run_compiler::{closure#1}>::{closure#0}, core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>>::{closure#0}::{closure#0}, core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>>
 123:        0x103f65d82 - std[47b77c5136b0281e]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[333b44aaac6b850f]::util::setup_callbacks_and_run_in_thread_pool_with_globals<rustc_interface[333b44aaac6b850f]::interface::run_compiler<core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>, rustc_driver[2b55fea025b343ce]::run_compiler::{closure#1}>::{closure#0}, core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>>::{closure#0}, core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>>
 124:        0x103fce095 - <<std[47b77c5136b0281e]::thread::Builder>::spawn_unchecked<rustc_interface[333b44aaac6b850f]::util::setup_callbacks_and_run_in_thread_pool_with_globals<rustc_interface[333b44aaac6b850f]::interface::run_compiler<core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>, rustc_driver[2b55fea025b343ce]::run_compiler::{closure#1}>::{closure#0}, core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>>::{closure#0}, core[f4889159fda6615f]::result::Result<(), rustc_errors[41f29db6be5cacf9]::ErrorReported>>::{closure#1} as core[f4889159fda6615f]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
 125:        0x100cc0fb7 - std::sys::unix::thread::Thread::new::thread_start::h46222cfa881cd2bf
 126:     0x7fff204ed8fc - __pthread_start

error: internal compiler error: unexpected panic

note: 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: rustc 1.58.0-nightly (29b124802 2021-10-25) running on x86_64-apple-darwin

note: compiler flags: -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C incremental --crate-type lib

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
end of query stack
thread panicked while panicking. aborting.
warning: `test-bug-repro` (lib) generated 1 warning
error: could not compile `test-bug-repro`; 1 warning emitted

Caused by:
  process didn't exit successfully: `rustc --crate-name test_bug_repro --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C metadata=cdb9c552a6bfb0d3 -C extra-filename=-cdb9c552a6bfb0d3 --out-dir /private/tmp/test-bug-repro/target/debug/deps -C incremental=/private/tmp/test-bug-repro/target/debug/incremental -L dependency=/private/tmp/test-bug-repro/target/debug/deps` (signal: 4, SIGILL: illegal instruction)

@overdrivenpotato overdrivenpotato added C-bug Category: This is a bug. 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. labels Nov 6, 2021
@b-naber
Copy link
Contributor

b-naber commented Nov 8, 2021

The problem here is that T::VAL + 1 is not resolvable, hence we can't prove that [i32; T::VAL + 1]: SmallArray. #90023 would fix the ICE and output the following error:

error[E0277]: the trait bound `[i32; _]: SmallArray` is not satisfied
  --> ../unknown-vars-resolve-instance/test.rs:22:13
   |
22 |     consume(make_array::<T>());
   |     ------- ^^^^^^^^^^^^^^^^^ the trait `SmallArray` is not implemented for `[i32; _]`
   |     |
   |     required by a bound introduced by this call
   |
note: required by a bound in `consume`
  --> ../unknown-vars-resolve-instance/test.rs:15:15
   |
15 | fn consume<T: SmallArray>(t: T) {}
   |               ^^^^^^^^^^ required by this bound in `consume`
help: consider extending the `where` bound, but there might be an alternative better way to express this requirement
   |
20 |     [(); T::VAL + 1]:, [i32; _]: SmallArray
   |                      ~~~~~~~~~~~~~~~~~~~~~~

@bors bors closed this as completed in 1f2a26e Dec 5, 2021
@rust-lang-glacier-bot rust-lang-glacier-bot added the glacier ICE tracked in rust-lang/glacier. label Dec 5, 2021
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Dec 9, 2021
…al, r=jackh726

Add tests fixed by rust-lang#90023

The following issues were fixed by rust-lang#90023

Fixes rust-lang#79674
Fixes rust-lang#83765
Fixes rust-lang#86033
Fixes rust-lang#90318
Fixes rust-lang#88468

The following issues were duplicates of rust-lang#90654

Fixes rust-lang#86850
Fixes rust-lang#89022

r? `@jackh726`
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Dec 10, 2021
…al, r=jackh726

Add tests fixed by rust-lang#90023

The following issues were fixed by rust-lang#90023

Fixes rust-lang#79674
Fixes rust-lang#83765
Fixes rust-lang#86033
Fixes rust-lang#90318
Fixes rust-lang#88468

The following issues were duplicates of rust-lang#90654

Fixes rust-lang#86850
Fixes rust-lang#89022

r? ``@jackh726``
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Dec 10, 2021
…al, r=jackh726

Add tests fixed by rust-lang#90023

The following issues were fixed by rust-lang#90023

Fixes rust-lang#79674
Fixes rust-lang#83765
Fixes rust-lang#86033
Fixes rust-lang#90318
Fixes rust-lang#88468

The following issues were duplicates of rust-lang#90654

Fixes rust-lang#86850
Fixes rust-lang#89022

r? ```@jackh726```
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Dec 10, 2021
…al, r=jackh726

Add tests fixed by rust-lang#90023

The following issues were fixed by rust-lang#90023

Fixes rust-lang#79674
Fixes rust-lang#83765
Fixes rust-lang#86033
Fixes rust-lang#90318
Fixes rust-lang#88468

The following issues were duplicates of rust-lang#90654

Fixes rust-lang#86850
Fixes rust-lang#89022

r? ````@jackh726````
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. glacier ICE tracked in rust-lang/glacier. 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.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants