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

Cargo check panic on nightly #133563

Closed
aiyoux opened this issue Nov 28, 2024 · 3 comments · Fixed by #133585
Closed

Cargo check panic on nightly #133563

aiyoux opened this issue Nov 28, 2024 · 3 comments · Fixed by #133585
Assignees
Labels
A-diagnostics Area: Messages for errors, warnings, and lints C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ S-has-mcve Status: A Minimal Complete and Verifiable Example has been found for this issue T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@aiyoux
Copy link

aiyoux commented Nov 28, 2024

Cargo check on a leptos Rust project on nightly. Unable to provide an example due to time constraints, sorry.

error: internal compiler error: compiler/rustc_middle/src/query/plumbing.rs:654:5: `tcx.extern_crate(LocalCrate)` is not supported for this key;
                                hint: Queries can be either made to the local crate, or the external crate. This error means you tried to use it for one that's not supported.
                                If that's not the case, extern_crate was likely never assigned to a provider function.

thread 'rustc' panicked at compiler/rustc_middle/src/query/plumbing.rs:654:5:
Box<dyn Any>

Meta

rustc 1.85.0-nightly (6b6a867ae 2024-11-27)
binary: rustc
commit-hash: 6b6a867ae9eac4e78d041ac4ee84be1072a48cf7
commit-date: 2024-11-27
host: aarch64-apple-darwin
release: 1.85.0-nightly
LLVM version: 19.1.4

rustc-ice-2024-11-28T06_34_32-9970.txt

Backtrace

stack backtrace:
   0:        0x1129095b8 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hd5de7b0df0729e03
   1:        0x10fb6ce64 - core::fmt::write::h2d6cb8c661d0a83d
   2:        0x1128fd960 - std::io::Write::write_fmt::h0f134b74b751e0f9
   3:        0x112909478 - std::sys::backtrace::BacktraceLock::print::h93b2b495ebfc2cb2
   4:        0x11290b948 - std::panicking::default_hook::{{closure}}::h5e69c7a046eca612
   5:        0x11290b790 - std::panicking::default_hook::h9f5f5724d303148a
   6:        0x11077657c - <alloc[2ffe1c66fee3fdaa]::boxed::Box<rustc_driver_impl[17a93adec6f3d70a]::install_ice_hook::{closure#0}> as core[1a7bc357c76bf42]::ops::function::Fn<(&dyn for<'a, 'b> core[1a7bc357c76bf42]::ops::function::Fn<(&'a std[a184c2360da8cf6c]::panic::PanicHookInfo<'b>,), Output = ()> + core[1a7bc357c76bf42]::marker::Send + core[1a7bc357c76bf42]::marker::Sync, &std[a184c2360da8cf6c]::panic::PanicHookInfo)>>::call
   7:        0x11290c214 - std::panicking::rust_panic_with_hook::hab3d98f4160d14fd
   8:        0x110830298 - std[a184c2360da8cf6c]::panicking::begin_panic::<rustc_errors[912aad4cdcb9b812]::ExplicitBug>::{closure#0}
   9:        0x11082eab4 - std[a184c2360da8cf6c]::sys::backtrace::__rust_end_short_backtrace::<std[a184c2360da8cf6c]::panicking::begin_panic<rustc_errors[912aad4cdcb9b812]::ExplicitBug>::{closure#0}, !>
  10:        0x1150720bc - std[a184c2360da8cf6c]::panicking::begin_panic::<rustc_errors[912aad4cdcb9b812]::ExplicitBug>
  11:        0x11081b6ec - <rustc_errors[912aad4cdcb9b812]::diagnostic::BugAbort as rustc_errors[912aad4cdcb9b812]::diagnostic::EmissionGuarantee>::emit_producing_guarantee
  12:        0x1115c9ec0 - rustc_middle[7019c7ba16fcd5cd]::util::bug::opt_span_bug_fmt::<rustc_span[961a2807afbea68d]::span_encoding::Span>::{closure#0}
  13:        0x1115bcae4 - rustc_middle[7019c7ba16fcd5cd]::ty::context::tls::with_opt::<rustc_middle[7019c7ba16fcd5cd]::util::bug::opt_span_bug_fmt<rustc_span[961a2807afbea68d]::span_encoding::Span>::{closure#0}, !>::{closure#0}
  14:        0x1115bcab0 - rustc_middle[7019c7ba16fcd5cd]::ty::context::tls::with_context_opt::<rustc_middle[7019c7ba16fcd5cd]::ty::context::tls::with_opt<rustc_middle[7019c7ba16fcd5cd]::util::bug::opt_span_bug_fmt<rustc_span[961a2807afbea68d]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
  15:        0x115124f68 - rustc_middle[7019c7ba16fcd5cd]::util::bug::bug_fmt
  16:        0x115124c0c - rustc_middle[7019c7ba16fcd5cd]::query::plumbing::default_query
  17:        0x1115a1078 - <<rustc_middle[7019c7ba16fcd5cd]::query::Providers as core[1a7bc357c76bf42]::default::Default>::default::{closure#193} as core[1a7bc357c76bf42]::ops::function::FnOnce<(rustc_middle[7019c7ba16fcd5cd]::ty::context::TyCtxt, rustc_middle[7019c7ba16fcd5cd]::query::keys::LocalCrate)>>::call_once
  18:        0x111e3a03c - rustc_query_impl[3faacfedda06551]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[3faacfedda06551]::query_impl::extern_crate::dynamic_query::{closure#2}::{closure#0}, rustc_middle[7019c7ba16fcd5cd]::query::erase::Erased<[u8; 8usize]>>
  19:        0x111e71b78 - <rustc_query_impl[3faacfedda06551]::query_impl::extern_crate::dynamic_query::{closure#2} as core[1a7bc357c76bf42]::ops::function::FnOnce<(rustc_middle[7019c7ba16fcd5cd]::ty::context::TyCtxt, rustc_span[961a2807afbea68d]::def_id::CrateNum)>>::call_once
  20:        0x111deba3c - rustc_query_system[bd441621c7ea624b]::query::plumbing::try_execute_query::<rustc_query_impl[3faacfedda06551]::DynamicConfig<rustc_data_structures[30cd59d9d5c6978f]::vec_cache::VecCache<rustc_span[961a2807afbea68d]::def_id::CrateNum, rustc_middle[7019c7ba16fcd5cd]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[bd441621c7ea624b]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[3faacfedda06551]::plumbing::QueryCtxt, true>
  21:        0x111eea8c0 - rustc_query_impl[3faacfedda06551]::query_impl::extern_crate::get_query_incr::__rust_end_short_backtrace
  22:        0x1124da51c - <&mut <rustc_trait_selection[6a13f02ad214f1e1]::error_reporting::TypeErrCtxt>::report_similar_impl_candidates::{closure#3} as core[1a7bc357c76bf42]::ops::function::FnMut<(&rustc_span[961a2807afbea68d]::def_id::DefId,)>>::call_mut
  23:        0x11246b084 - <rustc_trait_selection[6a13f02ad214f1e1]::error_reporting::TypeErrCtxt>::report_similar_impl_candidates
  24:        0x112470a9c - <rustc_trait_selection[6a13f02ad214f1e1]::error_reporting::TypeErrCtxt>::try_to_add_help_message
  25:        0x112467654 - <rustc_trait_selection[6a13f02ad214f1e1]::error_reporting::TypeErrCtxt>::report_selection_error
  26:        0x11248e600 - <rustc_trait_selection[6a13f02ad214f1e1]::error_reporting::TypeErrCtxt>::report_fulfillment_errors
  27:        0x110c9dee4 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_argument_types
  28:        0x110c70120 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::confirm_builtin_call
  29:        0x110ce6520 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
  30:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  31:        0x110e7d2d8 - <&mut <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_tuple::{closure#1} as core[1a7bc357c76bf42]::ops::function::FnOnce<((usize, &rustc_hir[e37c4407e29c46ca]::hir::Expr),)>>::call_once
  32:        0x110e9e61c - <rustc_middle[7019c7ba16fcd5cd]::ty::Ty as rustc_type_ir[2fa15884d527178]::interner::CollectAndApply<rustc_middle[7019c7ba16fcd5cd]::ty::Ty, rustc_middle[7019c7ba16fcd5cd]::ty::Ty>>::collect_and_apply::<core[1a7bc357c76bf42]::iter::adapters::map::Map<core[1a7bc357c76bf42]::iter::adapters::enumerate::Enumerate<core[1a7bc357c76bf42]::slice::iter::Iter<rustc_hir[e37c4407e29c46ca]::hir::Expr>>, <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_tuple::{closure#1}>, <rustc_middle[7019c7ba16fcd5cd]::ty::Ty>::new_tup_from_iter<core[1a7bc357c76bf42]::iter::adapters::map::Map<core[1a7bc357c76bf42]::iter::adapters::enumerate::Enumerate<core[1a7bc357c76bf42]::slice::iter::Iter<rustc_hir[e37c4407e29c46ca]::hir::Expr>>, <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_tuple::{closure#1}>, rustc_middle[7019c7ba16fcd5cd]::ty::Ty>::{closure#0}>
  33:        0x110ce1b40 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
  34:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  35:        0x110c9e1f8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_argument_types
  36:        0x110c9d5d8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_method_argument_types
  37:        0x110ce8704 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
  38:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  39:        0x110ca54e4 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_block
  40:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  41:        0x110c9e1f8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_argument_types
  42:        0x110c9d5d8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_method_argument_types
  43:        0x110ce8704 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
  44:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  45:        0x110c9e1f8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_argument_types
  46:        0x110c70120 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::confirm_builtin_call
  47:        0x110ce6520 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
  48:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  49:        0x110ce083c - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
  50:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  51:        0x110ca54e4 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_block
  52:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  53:        0x110ca54e4 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_block
  54:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  55:        0x110ce083c - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
  56:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  57:        0x110ce3d78 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
  58:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  59:        0x110ca54e4 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_block
  60:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  61:        0x110c9e1f8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_argument_types
  62:        0x110c70120 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::confirm_builtin_call
  63:        0x110ce6520 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
  64:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  65:        0x110e7d2d8 - <&mut <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_tuple::{closure#1} as core[1a7bc357c76bf42]::ops::function::FnOnce<((usize, &rustc_hir[e37c4407e29c46ca]::hir::Expr),)>>::call_once
  66:        0x110e9e5f0 - <rustc_middle[7019c7ba16fcd5cd]::ty::Ty as rustc_type_ir[2fa15884d527178]::interner::CollectAndApply<rustc_middle[7019c7ba16fcd5cd]::ty::Ty, rustc_middle[7019c7ba16fcd5cd]::ty::Ty>>::collect_and_apply::<core[1a7bc357c76bf42]::iter::adapters::map::Map<core[1a7bc357c76bf42]::iter::adapters::enumerate::Enumerate<core[1a7bc357c76bf42]::slice::iter::Iter<rustc_hir[e37c4407e29c46ca]::hir::Expr>>, <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_tuple::{closure#1}>, <rustc_middle[7019c7ba16fcd5cd]::ty::Ty>::new_tup_from_iter<core[1a7bc357c76bf42]::iter::adapters::map::Map<core[1a7bc357c76bf42]::iter::adapters::enumerate::Enumerate<core[1a7bc357c76bf42]::slice::iter::Iter<rustc_hir[e37c4407e29c46ca]::hir::Expr>>, <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_tuple::{closure#1}>, rustc_middle[7019c7ba16fcd5cd]::ty::Ty>::{closure#0}>
  67:        0x110ce1b40 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
  68:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  69:        0x110c9e1f8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_argument_types
  70:        0x110c9d5d8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_method_argument_types
  71:        0x110ce8704 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
  72:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  73:        0x110c9e1f8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_argument_types
  74:        0x110c70120 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::confirm_builtin_call
  75:        0x110ce6520 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
  76:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  77:        0x110ce083c - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
  78:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  79:        0x110ca54e4 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_block
  80:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  81:        0x110ca54e4 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_block
  82:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  83:        0x110ca54e4 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_block
  84:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  85:        0x110c86748 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_return_or_body_tail
  86:        0x110ee9bb0 - rustc_hir_typeck[3e03da973de04c57]::check::check_fn
  87:        0x110ce6b10 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
  88:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  89:        0x110ca54e4 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_block
  90:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  91:        0x110c9e1f8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_argument_types
  92:        0x110c70120 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::confirm_builtin_call
  93:        0x110ce6520 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
  94:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  95:        0x110ca54e4 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_block
  96:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  97:        0x110c9e1f8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_argument_types
  98:        0x110c9d5d8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_method_argument_types
  99:        0x110ce8704 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
 100:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
 101:        0x110e77258 - <smallvec[2af8c795e6eecc48]::SmallVec<[rustc_middle[7019c7ba16fcd5cd]::ty::Ty; 8usize]> as core[1a7bc357c76bf42]::iter::traits::collect::Extend<<[rustc_middle[7019c7ba16fcd5cd]::ty::Ty; 8usize] as smallvec[2af8c795e6eecc48]::Array>::Item>>::extend::<core[1a7bc357c76bf42]::iter::adapters::map::Map<core[1a7bc357c76bf42]::iter::adapters::enumerate::Enumerate<core[1a7bc357c76bf42]::slice::iter::Iter<rustc_hir[e37c4407e29c46ca]::hir::Expr>>, <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_tuple::{closure#1}>>
 102:        0x110e9e6f0 - <rustc_middle[7019c7ba16fcd5cd]::ty::Ty as rustc_type_ir[2fa15884d527178]::interner::CollectAndApply<rustc_middle[7019c7ba16fcd5cd]::ty::Ty, rustc_middle[7019c7ba16fcd5cd]::ty::Ty>>::collect_and_apply::<core[1a7bc357c76bf42]::iter::adapters::map::Map<core[1a7bc357c76bf42]::iter::adapters::enumerate::Enumerate<core[1a7bc357c76bf42]::slice::iter::Iter<rustc_hir[e37c4407e29c46ca]::hir::Expr>>, <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_tuple::{closure#1}>, <rustc_middle[7019c7ba16fcd5cd]::ty::Ty>::new_tup_from_iter<core[1a7bc357c76bf42]::iter::adapters::map::Map<core[1a7bc357c76bf42]::iter::adapters::enumerate::Enumerate<core[1a7bc357c76bf42]::slice::iter::Iter<rustc_hir[e37c4407e29c46ca]::hir::Expr>>, <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_tuple::{closure#1}>, rustc_middle[7019c7ba16fcd5cd]::ty::Ty>::{closure#0}>
 103:        0x110ce1b40 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
 104:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
 105:        0x110c9e1f8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_argument_types
 106:        0x110c9d5d8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_method_argument_types
 107:        0x110ce8704 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
 108:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
 109:        0x110c9e1f8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_argument_types
 110:        0x110c70120 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::confirm_builtin_call
 111:        0x110ce6520 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
 112:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
 113:        0x110ce083c - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
 114:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
 115:        0x110ca54e4 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_block
 116:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
 117:        0x110ca54e4 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_block
 118:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
 119:        0x110ca54e4 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_block
 120:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
 121:        0x110ce083c - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
 122:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
 123:        0x110ce3d78 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
 124:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
 125:        0x110ca54e4 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_block
 126:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
 127:        0x110c86748 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_return_or_body_tail
 128:        0x110ee9bb0 - rustc_hir_typeck[3e03da973de04c57]::check::check_fn
 129:        0x110ce6b10 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
 130:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
 131:        0x110ca54e4 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_block
 132:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
 133:        0x110c9e1f8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_argument_types
 134:        0x110c70120 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::confirm_builtin_call
 135:        0x110ce6520 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
 136:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
 137:        0x110e77258 - <smallvec[2af8c795e6eecc48]::SmallVec<[rustc_middle[7019c7ba16fcd5cd]::ty::Ty; 8usize]> as core[1a7bc357c76bf42]::iter::traits::collect::Extend<<[rustc_middle[7019c7ba16fcd5cd]::ty::Ty; 8usize] as smallvec[2af8c795e6eecc48]::Array>::Item>>::extend::<core[1a7bc357c76bf42]::iter::adapters::map::Map<core[1a7bc357c76bf42]::iter::adapters::enumerate::Enumerate<core[1a7bc357c76bf42]::slice::iter::Iter<rustc_hir[e37c4407e29c46ca]::hir::Expr>>, <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_tuple::{closure#1}>>
 138:        0x110e9e6f0 - <rustc_middle[7019c7ba16fcd5cd]::ty::Ty as rustc_type_ir[2fa15884d527178]::interner::CollectAndApply<rustc_middle[7019c7ba16fcd5cd]::ty::Ty, rustc_middle[7019c7ba16fcd5cd]::ty::Ty>>::collect_and_apply::<core[1a7bc357c76bf42]::iter::adapters::map::Map<core[1a7bc357c76bf42]::iter::adapters::enumerate::Enumerate<core[1a7bc357c76bf42]::slice::iter::Iter<rustc_hir[e37c4407e29c46ca]::hir::Expr>>, <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_tuple::{closure#1}>, <rustc_middle[7019c7ba16fcd5cd]::ty::Ty>::new_tup_from_iter<core[1a7bc357c76bf42]::iter::adapters::map::Map<core[1a7bc357c76bf42]::iter::adapters::enumerate::Enumerate<core[1a7bc357c76bf42]::slice::iter::Iter<rustc_hir[e37c4407e29c46ca]::hir::Expr>>, <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_tuple::{closure#1}>, rustc_middle[7019c7ba16fcd5cd]::ty::Ty>::{closure#0}>
 139:        0x110ce1b40 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
 140:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
 141:        0x110c9e1f8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_argument_types
 142:        0x110c9d5d8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_method_argument_types
 143:        0x110ce8704 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
 144:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
 145:        0x110ce083c - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
 146:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
 147:        0x110c9e1f8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_argument_types
 148:        0x110c70120 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::confirm_builtin_call
 149:        0x110ce6520 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
 150:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
 151:        0x110ce083c - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_kind
 152:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
 153:        0x110ca54e4 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_block
 154:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
 155:        0x110ca54e4 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_block
 156:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
 157:        0x110ca54e4 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_block
 158:        0x110c855e8 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
 159:        0x110c86748 - <rustc_hir_typeck[3e03da973de04c57]::fn_ctxt::FnCtxt>::check_return_or_body_tail
 160:        0x110ee9bb0 - rustc_hir_typeck[3e03da973de04c57]::check::check_fn
 161:        0x110db96e8 - rustc_hir_typeck[3e03da973de04c57]::typeck
 162:        0x111e4009c - rustc_query_impl[3faacfedda06551]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[3faacfedda06551]::query_impl::typeck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[7019c7ba16fcd5cd]::query::erase::Erased<[u8; 8usize]>>
 163:        0x111f53418 - <rustc_query_impl[3faacfedda06551]::query_impl::typeck::dynamic_query::{closure#2} as core[1a7bc357c76bf42]::ops::function::FnOnce<(rustc_middle[7019c7ba16fcd5cd]::ty::context::TyCtxt, rustc_span[961a2807afbea68d]::def_id::LocalDefId)>>::call_once
 164:        0x111de1fc0 - rustc_query_system[bd441621c7ea624b]::query::plumbing::try_execute_query::<rustc_query_impl[3faacfedda06551]::DynamicConfig<rustc_data_structures[30cd59d9d5c6978f]::vec_cache::VecCache<rustc_span[961a2807afbea68d]::def_id::LocalDefId, rustc_middle[7019c7ba16fcd5cd]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[bd441621c7ea624b]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[3faacfedda06551]::plumbing::QueryCtxt, true>
 165:        0x111ed8edc - rustc_query_impl[3faacfedda06551]::query_impl::typeck::get_query_incr::__rust_end_short_backtrace
 166:        0x110c0e574 - rustc_middle[7019c7ba16fcd5cd]::query::plumbing::query_get_at::<rustc_data_structures[30cd59d9d5c6978f]::vec_cache::VecCache<rustc_span[961a2807afbea68d]::def_id::LocalDefId, rustc_middle[7019c7ba16fcd5cd]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[bd441621c7ea624b]::dep_graph::graph::DepNodeIndex>>
 167:        0x110c2be60 - rustc_hir_analysis[340859ecfa6d0181]::collect::type_of::opaque::find_opaque_ty_constraints_for_rpit
 168:        0x110ac33ac - rustc_hir_analysis[340859ecfa6d0181]::collect::type_of::type_of_opaque
 169:        0x111e3ae18 - rustc_query_impl[3faacfedda06551]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[3faacfedda06551]::query_impl::type_of_opaque::dynamic_query::{closure#2}::{closure#0}, rustc_middle[7019c7ba16fcd5cd]::query::erase::Erased<[u8; 8usize]>>
 170:        0x111f4ef3c - <rustc_query_impl[3faacfedda06551]::query_impl::type_of_opaque::dynamic_query::{closure#2} as core[1a7bc357c76bf42]::ops::function::FnOnce<(rustc_middle[7019c7ba16fcd5cd]::ty::context::TyCtxt, rustc_span[961a2807afbea68d]::def_id::DefId)>>::call_once
 171:        0x111d460e0 - rustc_query_system[bd441621c7ea624b]::query::plumbing::try_execute_query::<rustc_query_impl[3faacfedda06551]::DynamicConfig<rustc_query_system[bd441621c7ea624b]::query::caches::DefIdCache<rustc_middle[7019c7ba16fcd5cd]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[3faacfedda06551]::plumbing::QueryCtxt, true>
 172:        0x111ec5240 - rustc_query_impl[3faacfedda06551]::query_impl::type_of_opaque::get_query_incr::__rust_end_short_backtrace
 173:        0x110aa01cc - rustc_middle[7019c7ba16fcd5cd]::query::plumbing::query_get_at::<rustc_query_system[bd441621c7ea624b]::query::caches::DefIdCache<rustc_middle[7019c7ba16fcd5cd]::query::erase::Erased<[u8; 8usize]>>>
 174:        0x110ac19a4 - rustc_hir_analysis[340859ecfa6d0181]::collect::type_of::type_of
 175:        0x111e40118 - rustc_query_impl[3faacfedda06551]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[3faacfedda06551]::query_impl::type_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[7019c7ba16fcd5cd]::query::erase::Erased<[u8; 8usize]>>
 176:        0x111f53820 - <rustc_query_impl[3faacfedda06551]::query_impl::type_of::dynamic_query::{closure#2} as core[1a7bc357c76bf42]::ops::function::FnOnce<(rustc_middle[7019c7ba16fcd5cd]::ty::context::TyCtxt, rustc_span[961a2807afbea68d]::def_id::DefId)>>::call_once
 177:        0x111d460e0 - rustc_query_system[bd441621c7ea624b]::query::plumbing::try_execute_query::<rustc_query_impl[3faacfedda06551]::DynamicConfig<rustc_query_system[bd441621c7ea624b]::query::caches::DefIdCache<rustc_middle[7019c7ba16fcd5cd]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[3faacfedda06551]::plumbing::QueryCtxt, true>
 178:        0x111ec4f08 - rustc_query_impl[3faacfedda06551]::query_impl::type_of::get_query_incr::__rust_end_short_backtrace
 179:        0x111cbb750 - rustc_middle[7019c7ba16fcd5cd]::query::plumbing::query_get_at::<rustc_query_system[bd441621c7ea624b]::query::caches::DefIdCache<rustc_middle[7019c7ba16fcd5cd]::query::erase::Erased<[u8; 8usize]>>>
 180:        0x111cc3e3c - <rustc_privacy[3ca0a42ca62fd15f]::ReachEverythingInTheInterfaceVisitor>::ty
 181:        0x111cc77c4 - rustc_privacy[3ca0a42ca62fd15f]::effective_visibilities
 182:        0x111e3db68 - rustc_query_impl[3faacfedda06551]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[3faacfedda06551]::query_impl::effective_visibilities::dynamic_query::{closure#2}::{closure#0}, rustc_middle[7019c7ba16fcd5cd]::query::erase::Erased<[u8; 8usize]>>
 183:        0x11200b864 - <rustc_query_impl[3faacfedda06551]::query_impl::effective_visibilities::dynamic_query::{closure#2} as core[1a7bc357c76bf42]::ops::function::FnOnce<(rustc_middle[7019c7ba16fcd5cd]::ty::context::TyCtxt, ())>>::call_once
 184:        0x111d52abc - rustc_query_system[bd441621c7ea624b]::query::plumbing::try_execute_query::<rustc_query_impl[3faacfedda06551]::DynamicConfig<rustc_query_system[bd441621c7ea624b]::query::caches::SingleCache<rustc_middle[7019c7ba16fcd5cd]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[3faacfedda06551]::plumbing::QueryCtxt, true>
 185:        0x111edd514 - rustc_query_impl[3faacfedda06551]::query_impl::effective_visibilities::get_query_incr::__rust_end_short_backtrace
 186:        0x110ab88bc - rustc_hir_analysis[340859ecfa6d0181]::check::compare_impl_item::refine::check_refining_return_position_impl_trait_in_trait
 187:        0x110afdac0 - rustc_hir_analysis[340859ecfa6d0181]::check::check::check_impl_items_against_trait
 188:        0x110af64fc - rustc_hir_analysis[340859ecfa6d0181]::check::check::check_item_type
 189:        0x110a0bd0c - rustc_hir_analysis[340859ecfa6d0181]::check::wfcheck::check_well_formed
 190:        0x111e3c080 - rustc_query_impl[3faacfedda06551]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[3faacfedda06551]::query_impl::check_well_formed::dynamic_query::{closure#2}::{closure#0}, rustc_middle[7019c7ba16fcd5cd]::query::erase::Erased<[u8; 1usize]>>
 191:        0x111f7a890 - <rustc_query_impl[3faacfedda06551]::query_impl::check_well_formed::dynamic_query::{closure#2} as core[1a7bc357c76bf42]::ops::function::FnOnce<(rustc_middle[7019c7ba16fcd5cd]::ty::context::TyCtxt, rustc_span[961a2807afbea68d]::def_id::LocalDefId)>>::call_once
 192:        0x111ddab30 - rustc_query_system[bd441621c7ea624b]::query::plumbing::try_execute_query::<rustc_query_impl[3faacfedda06551]::DynamicConfig<rustc_data_structures[30cd59d9d5c6978f]::vec_cache::VecCache<rustc_span[961a2807afbea68d]::def_id::LocalDefId, rustc_middle[7019c7ba16fcd5cd]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[bd441621c7ea624b]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[3faacfedda06551]::plumbing::QueryCtxt, true>
 193:        0x111eeba08 - rustc_query_impl[3faacfedda06551]::query_impl::check_well_formed::get_query_incr::__rust_end_short_backtrace
 194:        0x110aea710 - rustc_middle[7019c7ba16fcd5cd]::query::plumbing::query_ensure_error_guaranteed::<rustc_data_structures[30cd59d9d5c6978f]::vec_cache::VecCache<rustc_span[961a2807afbea68d]::def_id::LocalDefId, rustc_middle[7019c7ba16fcd5cd]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[bd441621c7ea624b]::dep_graph::graph::DepNodeIndex>, ()>
 195:        0x110ae4a9c - <rustc_middle[7019c7ba16fcd5cd]::hir::ModuleItems>::par_items::<rustc_hir_analysis[340859ecfa6d0181]::check::wfcheck::check_mod_type_wf::{closure#0}>
 196:        0x110a14494 - rustc_hir_analysis[340859ecfa6d0181]::check::wfcheck::check_mod_type_wf
 197:        0x111e3c058 - rustc_query_impl[3faacfedda06551]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[3faacfedda06551]::query_impl::check_mod_type_wf::dynamic_query::{closure#2}::{closure#0}, rustc_middle[7019c7ba16fcd5cd]::query::erase::Erased<[u8; 1usize]>>
 198:        0x111f7a5f0 - <rustc_query_impl[3faacfedda06551]::query_impl::check_mod_type_wf::dynamic_query::{closure#2} as core[1a7bc357c76bf42]::ops::function::FnOnce<(rustc_middle[7019c7ba16fcd5cd]::ty::context::TyCtxt, rustc_span[961a2807afbea68d]::def_id::LocalModDefId)>>::call_once
 199:        0x111d96e78 - rustc_query_system[bd441621c7ea624b]::query::plumbing::try_execute_query::<rustc_query_impl[3faacfedda06551]::DynamicConfig<rustc_query_system[bd441621c7ea624b]::query::caches::DefaultCache<rustc_span[961a2807afbea68d]::def_id::LocalModDefId, rustc_middle[7019c7ba16fcd5cd]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[3faacfedda06551]::plumbing::QueryCtxt, true>
 200:        0x111ed889c - rustc_query_impl[3faacfedda06551]::query_impl::check_mod_type_wf::get_query_incr::__rust_end_short_backtrace
 201:        0x110ae5420 - <rustc_data_structures[30cd59d9d5c6978f]::sync::parallel::ParallelGuard>::run::<(), rustc_data_structures[30cd59d9d5c6978f]::sync::parallel::par_for_each_in<&rustc_hir[e37c4407e29c46ca]::hir_id::OwnerId, &[rustc_hir[e37c4407e29c46ca]::hir_id::OwnerId], <rustc_middle[7019c7ba16fcd5cd]::hir::map::Map>::par_for_each_module<rustc_hir_analysis[340859ecfa6d0181]::check_crate::{closure#0}::{closure#0}>::{closure#0}>::{closure#0}::{closure#1}::{closure#0}>
 202:        0x110c2ce2c - rustc_hir_analysis[340859ecfa6d0181]::check_crate
 203:        0x111149de8 - rustc_interface[e97b870a1f7a7bd5]::passes::analysis
 204:        0x111e4013c - rustc_query_impl[3faacfedda06551]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[3faacfedda06551]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[7019c7ba16fcd5cd]::query::erase::Erased<[u8; 1usize]>>
 205:        0x111f7c33c - <rustc_query_impl[3faacfedda06551]::query_impl::analysis::dynamic_query::{closure#2} as core[1a7bc357c76bf42]::ops::function::FnOnce<(rustc_middle[7019c7ba16fcd5cd]::ty::context::TyCtxt, ())>>::call_once
 206:        0x111d4f4a8 - rustc_query_system[bd441621c7ea624b]::query::plumbing::try_execute_query::<rustc_query_impl[3faacfedda06551]::DynamicConfig<rustc_query_system[bd441621c7ea624b]::query::caches::SingleCache<rustc_middle[7019c7ba16fcd5cd]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[3faacfedda06551]::plumbing::QueryCtxt, true>
 207:        0x111ec6400 - rustc_query_impl[3faacfedda06551]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
 208:        0x110778300 - <rustc_middle[7019c7ba16fcd5cd]::ty::context::GlobalCtxt>::enter::<rustc_driver_impl[17a93adec6f3d70a]::run_compiler::{closure#0}::{closure#1}::{closure#6}, core[1a7bc357c76bf42]::result::Result<(), rustc_span[961a2807afbea68d]::ErrorGuaranteed>>
 209:        0x11072f16c - <rustc_interface[e97b870a1f7a7bd5]::interface::Compiler>::enter::<rustc_driver_impl[17a93adec6f3d70a]::run_compiler::{closure#0}::{closure#1}, core[1a7bc357c76bf42]::result::Result<core[1a7bc357c76bf42]::option::Option<rustc_interface[e97b870a1f7a7bd5]::queries::Linker>, rustc_span[961a2807afbea68d]::ErrorGuaranteed>>
 210:        0x110768b60 - rustc_span[961a2807afbea68d]::create_session_globals_then::<core[1a7bc357c76bf42]::result::Result<(), rustc_span[961a2807afbea68d]::ErrorGuaranteed>, rustc_interface[e97b870a1f7a7bd5]::util::run_in_thread_with_globals<rustc_interface[e97b870a1f7a7bd5]::util::run_in_thread_pool_with_globals<rustc_interface[e97b870a1f7a7bd5]::interface::run_compiler<core[1a7bc357c76bf42]::result::Result<(), rustc_span[961a2807afbea68d]::ErrorGuaranteed>, rustc_driver_impl[17a93adec6f3d70a]::run_compiler::{closure#0}>::{closure#1}, core[1a7bc357c76bf42]::result::Result<(), rustc_span[961a2807afbea68d]::ErrorGuaranteed>>::{closure#0}, core[1a7bc357c76bf42]::result::Result<(), rustc_span[961a2807afbea68d]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}>
 211:        0x11079a49c - std[a184c2360da8cf6c]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[e97b870a1f7a7bd5]::util::run_in_thread_with_globals<rustc_interface[e97b870a1f7a7bd5]::util::run_in_thread_pool_with_globals<rustc_interface[e97b870a1f7a7bd5]::interface::run_compiler<core[1a7bc357c76bf42]::result::Result<(), rustc_span[961a2807afbea68d]::ErrorGuaranteed>, rustc_driver_impl[17a93adec6f3d70a]::run_compiler::{closure#0}>::{closure#1}, core[1a7bc357c76bf42]::result::Result<(), rustc_span[961a2807afbea68d]::ErrorGuaranteed>>::{closure#0}, core[1a7bc357c76bf42]::result::Result<(), rustc_span[961a2807afbea68d]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[1a7bc357c76bf42]::result::Result<(), rustc_span[961a2807afbea68d]::ErrorGuaranteed>>
 212:        0x11079d424 - <<std[a184c2360da8cf6c]::thread::Builder>::spawn_unchecked_<rustc_interface[e97b870a1f7a7bd5]::util::run_in_thread_with_globals<rustc_interface[e97b870a1f7a7bd5]::util::run_in_thread_pool_with_globals<rustc_interface[e97b870a1f7a7bd5]::interface::run_compiler<core[1a7bc357c76bf42]::result::Result<(), rustc_span[961a2807afbea68d]::ErrorGuaranteed>, rustc_driver_impl[17a93adec6f3d70a]::run_compiler::{closure#0}>::{closure#1}, core[1a7bc357c76bf42]::result::Result<(), rustc_span[961a2807afbea68d]::ErrorGuaranteed>>::{closure#0}, core[1a7bc357c76bf42]::result::Result<(), rustc_span[961a2807afbea68d]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[1a7bc357c76bf42]::result::Result<(), rustc_span[961a2807afbea68d]::ErrorGuaranteed>>::{closure#1} as core[1a7bc357c76bf42]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
 213:        0x1129162d4 - std::sys::pal::unix::thread::Thread::new::thread_start::h0b41f7e8e279ede6
 214:        0x19c799f94 - __pthread_joiner_wake

query stack during panic:
#0 [extern_crate] getting crate's ExternCrateData
#1 [typeck] type-checking `app::components::additional::__AdditionalEditor`
#2 [type_of_opaque] computing type of opaque `app::components::additional::__AdditionalEditor::{opaque#0}`
#3 [type_of] computing type of `app::components::additional::__AdditionalEditor::{opaque#0}`
#4 [effective_visibilities] checking effective visibilities
#5 [check_well_formed] checking that `app::<impl at crates/core/src/app.rs:1005:1: 1005:57>` is well-formed
#6 [check_mod_type_wf] checking that types are well-formed in module `app`
#7 [analysis] running analysis passes on this crate
end of query stack

@aiyoux aiyoux 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 28, 2024
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Nov 28, 2024
@lukas-code
Copy link
Member

lukas-code commented Nov 28, 2024

minimal repro:

a.rs:

#![crate_type = "lib"]
#![crate_name = "foo"]

pub struct Struct;
pub trait Trait {}
impl Trait for Struct {}

b.rs:

#![crate_type = "lib"]
#![crate_name = "foo"]

extern crate foo;

pub struct Struct;
pub trait Trait {}
impl Trait for Struct {}

fn check_trait<T: Trait>() {}

fn ice() {
    check_trait::<foo::Struct>();
}

run:

rustc a.rs
rustc b.rs -L. -Cmetadata=1

... but I'm still curious how you managed to hit this in the wild, because it requires a crate to somehow depend on another crate with the same name.


This line will ICE when passing LOCAL_CRATE to the extern_crate query:

.filter_map(|def_id| self.tcx.extern_crate(def_id.krate))

@rustbot label S-has-mcve A-diagnostics -needs-triage

@rustbot rustbot added A-diagnostics Area: Messages for errors, warnings, and lints S-has-mcve Status: A Minimal Complete and Verifiable Example has been found for this issue and removed needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. labels Nov 28, 2024
@lqd
Copy link
Member

lqd commented Nov 28, 2024

Multiple versions of the same dependency will have the same name, so maybe a newer version depends on an old version? (If simply having multiple versions isn’t enough to reproduce the issue)

@estebank
Copy link
Contributor

@lqd described as you did it made me realize that that situation is not actually uncommon to the point it has a name: "semver trick".

@estebank estebank self-assigned this Nov 28, 2024
jieyouxu added a commit to jieyouxu/rust that referenced this issue Nov 30, 2024
Do not call `extern_crate` on current trait on crate mismatch errors

When we encounter an error caused by traits/types of different versions of the same crate, filter out the current crate when collecting spans to add to the context so we don't call `extern_crate` on the `DefId` of the current crate, which is meaningless and ICEs.

Produced output with this filter:

```
error[E0277]: the trait bound `foo::Struct: Trait` is not satisfied
  --> y.rs:13:19
   |
13 |     check_trait::<foo::Struct>();
   |                   ^^^^^^^^^^^ the trait `Trait` is not implemented for `foo::Struct`
   |
note: there are multiple different versions of crate `foo` in the dependency graph
  --> y.rs:7:1
   |
4  | extern crate foo;
   | ----------------- one version of crate `foo` is used here, as a direct dependency of the current crate
5  |
6  | pub struct Struct;
   | ----------------- this type implements the required trait
7  | pub trait Trait {}
   | ^^^^^^^^^^^^^^^ this is the required trait
   |
  ::: x.rs:4:1
   |
4  | pub struct Struct;
   | ----------------- this type doesn't implement the required trait
5  | pub trait Trait {}
   | --------------- this is the found trait
   = note: two types coming from two different versions of the same crate are different types even if they look the same
   = help: you can use `cargo tree` to explore your dependency tree
note: required by a bound in `check_trait`
  --> y.rs:10:19
   |
10 | fn check_trait<T: Trait>() {}
   |                   ^^^^^ required by this bound in `check_trait`
```

Fix rust-lang#133563.
jieyouxu added a commit to jieyouxu/rust that referenced this issue Nov 30, 2024
Do not call `extern_crate` on current trait on crate mismatch errors

When we encounter an error caused by traits/types of different versions of the same crate, filter out the current crate when collecting spans to add to the context so we don't call `extern_crate` on the `DefId` of the current crate, which is meaningless and ICEs.

Produced output with this filter:

```
error[E0277]: the trait bound `foo::Struct: Trait` is not satisfied
  --> y.rs:13:19
   |
13 |     check_trait::<foo::Struct>();
   |                   ^^^^^^^^^^^ the trait `Trait` is not implemented for `foo::Struct`
   |
note: there are multiple different versions of crate `foo` in the dependency graph
  --> y.rs:7:1
   |
4  | extern crate foo;
   | ----------------- one version of crate `foo` is used here, as a direct dependency of the current crate
5  |
6  | pub struct Struct;
   | ----------------- this type implements the required trait
7  | pub trait Trait {}
   | ^^^^^^^^^^^^^^^ this is the required trait
   |
  ::: x.rs:4:1
   |
4  | pub struct Struct;
   | ----------------- this type doesn't implement the required trait
5  | pub trait Trait {}
   | --------------- this is the found trait
   = note: two types coming from two different versions of the same crate are different types even if they look the same
   = help: you can use `cargo tree` to explore your dependency tree
note: required by a bound in `check_trait`
  --> y.rs:10:19
   |
10 | fn check_trait<T: Trait>() {}
   |                   ^^^^^ required by this bound in `check_trait`
```

Fix rust-lang#133563.
@bors bors closed this as completed in 8574f37 Nov 30, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this issue Nov 30, 2024
Rollup merge of rust-lang#133585 - estebank:issue-133563, r=jieyouxu

Do not call `extern_crate` on current trait on crate mismatch errors

When we encounter an error caused by traits/types of different versions of the same crate, filter out the current crate when collecting spans to add to the context so we don't call `extern_crate` on the `DefId` of the current crate, which is meaningless and ICEs.

Produced output with this filter:

```
error[E0277]: the trait bound `foo::Struct: Trait` is not satisfied
  --> y.rs:13:19
   |
13 |     check_trait::<foo::Struct>();
   |                   ^^^^^^^^^^^ the trait `Trait` is not implemented for `foo::Struct`
   |
note: there are multiple different versions of crate `foo` in the dependency graph
  --> y.rs:7:1
   |
4  | extern crate foo;
   | ----------------- one version of crate `foo` is used here, as a direct dependency of the current crate
5  |
6  | pub struct Struct;
   | ----------------- this type implements the required trait
7  | pub trait Trait {}
   | ^^^^^^^^^^^^^^^ this is the required trait
   |
  ::: x.rs:4:1
   |
4  | pub struct Struct;
   | ----------------- this type doesn't implement the required trait
5  | pub trait Trait {}
   | --------------- this is the found trait
   = note: two types coming from two different versions of the same crate are different types even if they look the same
   = help: you can use `cargo tree` to explore your dependency tree
note: required by a bound in `check_trait`
  --> y.rs:10:19
   |
10 | fn check_trait<T: Trait>() {}
   |                   ^^^^^ required by this bound in `check_trait`
```

Fix rust-lang#133563.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-diagnostics Area: Messages for errors, warnings, and lints C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ S-has-mcve Status: A Minimal Complete and Verifiable Example has been found for this issue 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.

5 participants