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

Do not erase late bound regions when selecting inherent associated types #118118

Merged

Conversation

spastorino
Copy link
Member

@spastorino spastorino commented Nov 21, 2023

In the fix for #97156 we would want the following code:

#![feature(inherent_associated_types)]
#![allow(incomplete_features)]

struct Foo<T>(T);

impl Foo<fn(&'static ())> {
    type Assoc = u32;
}

trait Other {}
impl Other for u32 {}

// FIXME(inherent_associated_types): Avoid emitting two diagnostics (they only differ in span).
// FIXME(inherent_associated_types): Enhancement: Spruce up the diagnostic by saying something like
// "implementation is not general enough" as is done for traits via
// `try_report_trait_placeholder_mismatch`.

fn bar(_: Foo<for<'a> fn(&'a ())>::Assoc) {}
//~^ ERROR mismatched types
//~| ERROR mismatched types

fn main() {}

to fail with ...

error[E0220]: associated type `Assoc` not found for `Foo<for<'a> fn(&'a ())>` in the current scope
  --> tests/ui/associated-inherent-types/issue-109789.rs:18:36
   |
4  | struct Foo<T>(T);
   | ------------- associated item `Assoc` not found for this struct
...
18 | fn bar(_: Foo<for<'a> fn(&'a ())>::Assoc) {}
   |                                    ^^^^^ associated item not found in `Foo<for<'a> fn(&'a ())>`
   |
   = note: the associated type was found for
           - `Foo<fn(&'static ())>`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0220`.

This PR fixes the ICE we are currently getting "was a subtype of Foo<Binder(fn(&ReStatic ()), [])> during selection but now it is not"

Also fixes #112631

r? @lcnr

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Nov 21, 2023
@spastorino spastorino force-pushed the do-not-erase-late-bound-regions-on-iat branch from 823a7ca to 3dea5d5 Compare November 21, 2023 02:40
@compiler-errors compiler-errors changed the title Do not erase late bound regions on iat Do not erase late bound regions when selecting inherent associated types Nov 21, 2023
@rustbot
Copy link
Collaborator

rustbot commented Nov 21, 2023

Could not assign reviewer from: lcnr.
User(s) lcnr are either the PR author, already assigned, or on vacation, and there are no other candidates.
Use r? to specify someone else to assign.

@spastorino spastorino force-pushed the do-not-erase-late-bound-regions-on-iat branch from 3dea5d5 to 697a756 Compare November 21, 2023 02:48
@rust-log-analyzer

This comment has been minimized.

@spastorino spastorino force-pushed the do-not-erase-late-bound-regions-on-iat branch from 697a756 to 2d0b397 Compare November 21, 2023 02:53
@matthiaskrgr
Copy link
Member

Does it fix #112631 ?

@compiler-errors
Copy link
Member

I believe it should fix that issue

@spastorino
Copy link
Member Author

spastorino commented Nov 21, 2023

Does it fix #112631 ?

It "fixes" the problem but there's another error with this test case later in the compilation process. It's trying to hash a region variable and we get an ICE region variables should not be hashed: '?0.

Backtrace

thread 'rustc' panicked at /home/gh-spastorino/rust1/compiler/rustc_type_ir/src/region_kind.rs:295:17:
region variables should not be hashed: '?0
stack backtrace:
   0:     0xffff9e611754 - std::backtrace_rs::backtrace::libunwind::trace::hb57433740c746219
                               at /home/gh-spastorino/rust1/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
   1:     0xffff9e611754 - std::backtrace_rs::backtrace::trace_unsynchronized::h0cf87acb2adc274c
                               at /home/gh-spastorino/rust1/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0xffff9e611754 - std::sys_common::backtrace::_print_fmt::h59739812c64e004d
                               at /home/gh-spastorino/rust1/library/std/src/sys_common/backtrace.rs:68:5
   3:     0xffff9e611754 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h7ed06aadfca244a6
                               at /home/gh-spastorino/rust1/library/std/src/sys_common/backtrace.rs:44:22
   4:     0xffff9e668688 - core::fmt::rt::Argument::fmt::hc6307396e6e56e0e
                               at /home/gh-spastorino/rust1/library/core/src/fmt/rt.rs:142:9
   5:     0xffff9e668688 - core::fmt::write::hadf6b906da7cec67
                               at /home/gh-spastorino/rust1/library/core/src/fmt/mod.rs:1120:17
   6:     0xffff9e5ed7f8 - std::io::Write::write_fmt::h7053d6ddef97215b
                               at /home/gh-spastorino/rust1/library/std/src/io/mod.rs:1762:15
   7:     0xffff9e6115a4 - std::sys_common::backtrace::_print::h5bd5d59e96b5943e
                               at /home/gh-spastorino/rust1/library/std/src/sys_common/backtrace.rs:47:5
   8:     0xffff9e6115a4 - std::sys_common::backtrace::print::hcfba4671b1eef175
                               at /home/gh-spastorino/rust1/library/std/src/sys_common/backtrace.rs:34:9
   9:     0xffff9e5ec8dc - std::panicking::default_hook::{{closure}}::h0a8d1b2d7754bf1b
  10:     0xffff9e5ec6ac - std::panicking::default_hook::h92572ca7a7f4b85b
                               at /home/gh-spastorino/rust1/library/std/src/panicking.rs:292:9
  11:     0xffff9f71f5a0 - rustc_driver_impl[77ac2849ca7e61bc]::install_ice_hook::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_driver_impl/src/lib.rs:1351:17
  12:     0xffff9f71f5a0 - <alloc[df1e09a03ef5c87e]::boxed::Box<rustc_driver_impl[77ac2849ca7e61bc]::install_ice_hook::{closure#0}> as core[d61bce0f20d5dda4]::ops::function::Fn<(&dyn for<'a, 'b> core[d61bce0f20d5dda4]::ops::function::Fn<(&'a core[d61bce0f20d5dda4]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[d61bce0f20d5dda4]::marker::Sync + core[d61bce0f20d5dda4]::marker::Send, &core[d61bce0f20d5dda4]::panic::panic_info::PanicInfo)>>::call
                               at /home/gh-spastorino/rust1/library/alloc/src/boxed.rs:2021:9
  13:     0xffff9e5ecdbc - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hb6a087a6f744a307
                               at /home/gh-spastorino/rust1/library/alloc/src/boxed.rs:2021:9
  14:     0xffff9e5ecdbc - std::panicking::rust_panic_with_hook::hd5cbad2be5e10ccf
                               at /home/gh-spastorino/rust1/library/std/src/panicking.rs:783:13
  15:     0xffff9e5e9f10 - std::panicking::begin_panic_handler::{{closure}}::he453020c81fe7214
                               at /home/gh-spastorino/rust1/library/std/src/panicking.rs:657:13
  16:     0xffff9e5e9e3c - std::sys_common::backtrace::__rust_end_short_backtrace::h18d1ac59cb4cc396
                               at /home/gh-spastorino/rust1/library/std/src/sys_common/backtrace.rs:171:18
  17:     0xffff9e5ec9d0 - rust_begin_unwind
                               at /home/gh-spastorino/rust1/library/std/src/panicking.rs:645:5
  18:     0xffff9e5d81d4 - core::panicking::panic_fmt::h389c2f7d253fc741
                               at /home/gh-spastorino/rust1/library/core/src/panicking.rs:72:14
  19:     0xffffa48f3694 - <rustc_type_ir[a2208eb7a2d3725a]::region_kind::RegionKind<rustc_middle[336b16ad9e7bea9]::ty::context::TyCtxt> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_type_ir/src/region_kind.rs:295:17
  20:     0xffffa48f3694 - <rustc_data_structures[5aa6992ce6f03aa4]::intern::Interned<rustc_type_ir[a2208eb7a2d3725a]::region_kind::RegionKind<rustc_middle[336b16ad9e7bea9]::ty::context::TyCtxt>> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_data_structures/src/intern.rs:107:9
  21:     0xffffa4a27b04 - <rustc_middle[336b16ad9e7bea9]::ty::sty::Region as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/sty.rs:1487:61
  22:     0xffffa4a27b04 - <rustc_type_ir[a2208eb7a2d3725a]::ty_kind::TyKind<rustc_middle[336b16ad9e7bea9]::ty::context::TyCtxt> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_type_ir/src/ty_kind.rs:531:17
  23:     0xffffa4a27b04 - <rustc_type_ir[a2208eb7a2d3725a]::ty_info::WithCachedTypeInfo<rustc_type_ir[a2208eb7a2d3725a]::ty_kind::TyKind<rustc_middle[336b16ad9e7bea9]::ty::context::TyCtxt>> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_type_ir/src/ty_info.rs:109:17
  24:     0xffffa48ac4e8 - <rustc_data_structures[5aa6992ce6f03aa4]::intern::Interned<rustc_type_ir[a2208eb7a2d3725a]::ty_info::WithCachedTypeInfo<rustc_type_ir[a2208eb7a2d3725a]::ty_kind::TyKind<rustc_middle[336b16ad9e7bea9]::ty::context::TyCtxt>>> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_data_structures/src/intern.rs:107:9
  25:     0xffffa48ac4e8 - <rustc_middle[336b16ad9e7bea9]::ty::Ty as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/mod.rs:462:61
  26:     0xffffa48ac4e8 - <[rustc_middle[336b16ad9e7bea9]::ty::Ty] as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_data_structures/src/stable_hasher.rs:406:13
  27:     0xffffa4902ce4 - <&rustc_middle[336b16ad9e7bea9]::ty::list::List<rustc_middle[336b16ad9e7bea9]::ty::Ty> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/impls_ty.rs:32:13
  28:     0xffffa4902ce4 - <std[f0ab951cdbae5458]::thread::local::LocalKey<core[d61bce0f20d5dda4]::cell::RefCell<std[f0ab951cdbae5458]::collections::hash::map::HashMap<(usize, usize, rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashingControls), rustc_data_structures[5aa6992ce6f03aa4]::fingerprint::Fingerprint, core[d61bce0f20d5dda4]::hash::BuildHasherDefault<rustc_hash[259581b834ff7a24]::FxHasher>>>>>::try_with::<<&rustc_middle[336b16ad9e7bea9]::ty::list::List<rustc_middle[336b16ad9e7bea9]::ty::Ty> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable::{closure#0}, rustc_data_structures[5aa6992ce6f03aa4]::fingerprint::Fingerprint>
                               at /home/gh-spastorino/rust1/library/std/src/thread/local.rs:270:16
  29:     0xffffa4902ce4 - <std[f0ab951cdbae5458]::thread::local::LocalKey<core[d61bce0f20d5dda4]::cell::RefCell<std[f0ab951cdbae5458]::collections::hash::map::HashMap<(usize, usize, rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashingControls), rustc_data_structures[5aa6992ce6f03aa4]::fingerprint::Fingerprint, core[d61bce0f20d5dda4]::hash::BuildHasherDefault<rustc_hash[259581b834ff7a24]::FxHasher>>>>>::with::<<&rustc_middle[336b16ad9e7bea9]::ty::list::List<rustc_middle[336b16ad9e7bea9]::ty::Ty> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable::{closure#0}, rustc_data_structures[5aa6992ce6f03aa4]::fingerprint::Fingerprint>
                               at /home/gh-spastorino/rust1/library/std/src/thread/local.rs:246:9
  30:     0xffffa4a27b40 - <&rustc_middle[336b16ad9e7bea9]::ty::list::List<rustc_middle[336b16ad9e7bea9]::ty::Ty> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/impls_ty.rs:25:20
  31:     0xffffa4a27b40 - <rustc_middle[336b16ad9e7bea9]::ty::sty::FnSig as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/sty.rs:1363:10
  32:     0xffffa4a27b40 - <rustc_middle[336b16ad9e7bea9]::ty::sty::Binder<rustc_middle[336b16ad9e7bea9]::ty::sty::FnSig> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/sty.rs:1002:10
  33:     0xffffa4a27b40 - <rustc_type_ir[a2208eb7a2d3725a]::ty_kind::TyKind<rustc_middle[336b16ad9e7bea9]::ty::context::TyCtxt> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_type_ir/src/ty_kind.rs:540:17
  34:     0xffffa4a27b40 - <rustc_type_ir[a2208eb7a2d3725a]::ty_info::WithCachedTypeInfo<rustc_type_ir[a2208eb7a2d3725a]::ty_kind::TyKind<rustc_middle[336b16ad9e7bea9]::ty::context::TyCtxt>> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_type_ir/src/ty_info.rs:109:17
  35:     0xffffa4935b94 - <rustc_data_structures[5aa6992ce6f03aa4]::intern::Interned<rustc_type_ir[a2208eb7a2d3725a]::ty_info::WithCachedTypeInfo<rustc_type_ir[a2208eb7a2d3725a]::ty_kind::TyKind<rustc_middle[336b16ad9e7bea9]::ty::context::TyCtxt>>> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_data_structures/src/intern.rs:107:9
  36:     0xffffa4935b94 - <rustc_middle[336b16ad9e7bea9]::ty::Ty as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/mod.rs:462:61
  37:     0xffffa4935b94 - <rustc_middle[336b16ad9e7bea9]::ty::generic_args::GenericArgKind as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/generic_args.rs:49:75
  38:     0xffffa4935b94 - <rustc_middle[336b16ad9e7bea9]::ty::generic_args::GenericArg as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/impls_ty.rs:72:9
  39:     0xffffa49ddbb8 - <[rustc_middle[336b16ad9e7bea9]::ty::generic_args::GenericArg] as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_data_structures/src/stable_hasher.rs:406:13
  40:     0xffffa49031ec - <&rustc_middle[336b16ad9e7bea9]::ty::list::List<rustc_middle[336b16ad9e7bea9]::ty::generic_args::GenericArg> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/impls_ty.rs:32:13
  41:     0xffffa49031ec - <std[f0ab951cdbae5458]::thread::local::LocalKey<core[d61bce0f20d5dda4]::cell::RefCell<std[f0ab951cdbae5458]::collections::hash::map::HashMap<(usize, usize, rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashingControls), rustc_data_structures[5aa6992ce6f03aa4]::fingerprint::Fingerprint, core[d61bce0f20d5dda4]::hash::BuildHasherDefault<rustc_hash[259581b834ff7a24]::FxHasher>>>>>::try_with::<<&rustc_middle[336b16ad9e7bea9]::ty::list::List<rustc_middle[336b16ad9e7bea9]::ty::generic_args::GenericArg> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable::{closure#0}, rustc_data_structures[5aa6992ce6f03aa4]::fingerprint::Fingerprint>
                               at /home/gh-spastorino/rust1/library/std/src/thread/local.rs:270:16
  42:     0xffffa49031ec - <std[f0ab951cdbae5458]::thread::local::LocalKey<core[d61bce0f20d5dda4]::cell::RefCell<std[f0ab951cdbae5458]::collections::hash::map::HashMap<(usize, usize, rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashingControls), rustc_data_structures[5aa6992ce6f03aa4]::fingerprint::Fingerprint, core[d61bce0f20d5dda4]::hash::BuildHasherDefault<rustc_hash[259581b834ff7a24]::FxHasher>>>>>::with::<<&rustc_middle[336b16ad9e7bea9]::ty::list::List<rustc_middle[336b16ad9e7bea9]::ty::generic_args::GenericArg> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable::{closure#0}, rustc_data_structures[5aa6992ce6f03aa4]::fingerprint::Fingerprint>
                               at /home/gh-spastorino/rust1/library/std/src/thread/local.rs:246:9
  43:     0xffffa4a27a84 - <&rustc_middle[336b16ad9e7bea9]::ty::list::List<rustc_middle[336b16ad9e7bea9]::ty::generic_args::GenericArg> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/impls_ty.rs:25:20
  44:     0xffffa4a27a84 - <rustc_type_ir[a2208eb7a2d3725a]::ty_kind::TyKind<rustc_middle[336b16ad9e7bea9]::ty::context::TyCtxt> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
  45:     0xffffa4a27a84 - <rustc_type_ir[a2208eb7a2d3725a]::ty_info::WithCachedTypeInfo<rustc_type_ir[a2208eb7a2d3725a]::ty_kind::TyKind<rustc_middle[336b16ad9e7bea9]::ty::context::TyCtxt>> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_type_ir/src/ty_info.rs:109:17
  46:     0xffffa4935b94 - <rustc_data_structures[5aa6992ce6f03aa4]::intern::Interned<rustc_type_ir[a2208eb7a2d3725a]::ty_info::WithCachedTypeInfo<rustc_type_ir[a2208eb7a2d3725a]::ty_kind::TyKind<rustc_middle[336b16ad9e7bea9]::ty::context::TyCtxt>>> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_data_structures/src/intern.rs:107:9
  47:     0xffffa4935b94 - <rustc_middle[336b16ad9e7bea9]::ty::Ty as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/mod.rs:462:61
  48:     0xffffa4935b94 - <rustc_middle[336b16ad9e7bea9]::ty::generic_args::GenericArgKind as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/generic_args.rs:49:75
  49:     0xffffa4935b94 - <rustc_middle[336b16ad9e7bea9]::ty::generic_args::GenericArg as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/impls_ty.rs:72:9
  50:     0xffffa3c261e8 - <[rustc_middle[336b16ad9e7bea9]::ty::generic_args::GenericArg] as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_data_structures/src/stable_hasher.rs:406:13
  51:     0xffffa394558c - <&rustc_middle[336b16ad9e7bea9]::ty::list::List<rustc_middle[336b16ad9e7bea9]::ty::generic_args::GenericArg> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/impls_ty.rs:32:13
  52:     0xffffa394558c - <std[f0ab951cdbae5458]::thread::local::LocalKey<core[d61bce0f20d5dda4]::cell::RefCell<std[f0ab951cdbae5458]::collections::hash::map::HashMap<(usize, usize, rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashingControls), rustc_data_structures[5aa6992ce6f03aa4]::fingerprint::Fingerprint, core[d61bce0f20d5dda4]::hash::BuildHasherDefault<rustc_hash[259581b834ff7a24]::FxHasher>>>>>::try_with::<<&rustc_middle[336b16ad9e7bea9]::ty::list::List<rustc_middle[336b16ad9e7bea9]::ty::generic_args::GenericArg> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable::{closure#0}, rustc_data_structures[5aa6992ce6f03aa4]::fingerprint::Fingerprint>
                               at /home/gh-spastorino/rust1/library/std/src/thread/local.rs:270:16
  53:     0xffffa394558c - <std[f0ab951cdbae5458]::thread::local::LocalKey<core[d61bce0f20d5dda4]::cell::RefCell<std[f0ab951cdbae5458]::collections::hash::map::HashMap<(usize, usize, rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashingControls), rustc_data_structures[5aa6992ce6f03aa4]::fingerprint::Fingerprint, core[d61bce0f20d5dda4]::hash::BuildHasherDefault<rustc_hash[259581b834ff7a24]::FxHasher>>>>>::with::<<&rustc_middle[336b16ad9e7bea9]::ty::list::List<rustc_middle[336b16ad9e7bea9]::ty::generic_args::GenericArg> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable::{closure#0}, rustc_data_structures[5aa6992ce6f03aa4]::fingerprint::Fingerprint>
                               at /home/gh-spastorino/rust1/library/std/src/thread/local.rs:246:9
  54:     0xffffa38e8e48 - <&rustc_middle[336b16ad9e7bea9]::ty::list::List<rustc_middle[336b16ad9e7bea9]::ty::generic_args::GenericArg> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/impls_ty.rs:25:20
  55:     0xffffa38e8e48 - <rustc_middle[336b16ad9e7bea9]::ty::sty::AliasTy as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/sty.rs:1192:10
  56:     0xffffa38e8e48 - <rustc_type_ir[a2208eb7a2d3725a]::ty_kind::TyKind<rustc_middle[336b16ad9e7bea9]::ty::context::TyCtxt> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_type_ir/src/ty_kind.rs:566:17
  57:     0xffffa38e8e48 - <rustc_type_ir[a2208eb7a2d3725a]::ty_info::WithCachedTypeInfo<rustc_type_ir[a2208eb7a2d3725a]::ty_kind::TyKind<rustc_middle[336b16ad9e7bea9]::ty::context::TyCtxt>> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_type_ir/src/ty_info.rs:109:17
  58:     0xffffa3c5894c - <rustc_data_structures[5aa6992ce6f03aa4]::intern::Interned<rustc_type_ir[a2208eb7a2d3725a]::ty_info::WithCachedTypeInfo<rustc_type_ir[a2208eb7a2d3725a]::ty_kind::TyKind<rustc_middle[336b16ad9e7bea9]::ty::context::TyCtxt>>> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_data_structures/src/intern.rs:107:9
  59:     0xffffa3c5894c - <rustc_middle[336b16ad9e7bea9]::ty::Ty as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/mod.rs:462:61
  60:     0xffffa3c5894c - <[rustc_middle[336b16ad9e7bea9]::ty::Ty] as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_data_structures/src/stable_hasher.rs:406:13
  61:     0xffffa3945084 - <&rustc_middle[336b16ad9e7bea9]::ty::list::List<rustc_middle[336b16ad9e7bea9]::ty::Ty> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/impls_ty.rs:32:13
  62:     0xffffa3945084 - <std[f0ab951cdbae5458]::thread::local::LocalKey<core[d61bce0f20d5dda4]::cell::RefCell<std[f0ab951cdbae5458]::collections::hash::map::HashMap<(usize, usize, rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashingControls), rustc_data_structures[5aa6992ce6f03aa4]::fingerprint::Fingerprint, core[d61bce0f20d5dda4]::hash::BuildHasherDefault<rustc_hash[259581b834ff7a24]::FxHasher>>>>>::try_with::<<&rustc_middle[336b16ad9e7bea9]::ty::list::List<rustc_middle[336b16ad9e7bea9]::ty::Ty> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable::{closure#0}, rustc_data_structures[5aa6992ce6f03aa4]::fingerprint::Fingerprint>
                               at /home/gh-spastorino/rust1/library/std/src/thread/local.rs:270:16
  63:     0xffffa3945084 - <std[f0ab951cdbae5458]::thread::local::LocalKey<core[d61bce0f20d5dda4]::cell::RefCell<std[f0ab951cdbae5458]::collections::hash::map::HashMap<(usize, usize, rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashingControls), rustc_data_structures[5aa6992ce6f03aa4]::fingerprint::Fingerprint, core[d61bce0f20d5dda4]::hash::BuildHasherDefault<rustc_hash[259581b834ff7a24]::FxHasher>>>>>::with::<<&rustc_middle[336b16ad9e7bea9]::ty::list::List<rustc_middle[336b16ad9e7bea9]::ty::Ty> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable::{closure#0}, rustc_data_structures[5aa6992ce6f03aa4]::fingerprint::Fingerprint>
                               at /home/gh-spastorino/rust1/library/std/src/thread/local.rs:246:9
  64:     0xffffa38e8d50 - <&rustc_middle[336b16ad9e7bea9]::ty::list::List<rustc_middle[336b16ad9e7bea9]::ty::Ty> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/impls_ty.rs:25:20
  65:     0xffffa38e8d50 - <rustc_middle[336b16ad9e7bea9]::ty::sty::FnSig as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/sty.rs:1363:10
  66:     0xffffa38e8d50 - <rustc_middle[336b16ad9e7bea9]::ty::sty::Binder<rustc_middle[336b16ad9e7bea9]::ty::sty::FnSig> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/sty.rs:1002:10
  67:     0xffffa38e8d50 - <rustc_type_ir[a2208eb7a2d3725a]::ty_kind::TyKind<rustc_middle[336b16ad9e7bea9]::ty::context::TyCtxt> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_type_ir/src/ty_kind.rs:540:17
  68:     0xffffa38e8d50 - <rustc_type_ir[a2208eb7a2d3725a]::ty_info::WithCachedTypeInfo<rustc_type_ir[a2208eb7a2d3725a]::ty_kind::TyKind<rustc_middle[336b16ad9e7bea9]::ty::context::TyCtxt>> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_type_ir/src/ty_info.rs:109:17
  69:     0xffffa3c5894c - <rustc_data_structures[5aa6992ce6f03aa4]::intern::Interned<rustc_type_ir[a2208eb7a2d3725a]::ty_info::WithCachedTypeInfo<rustc_type_ir[a2208eb7a2d3725a]::ty_kind::TyKind<rustc_middle[336b16ad9e7bea9]::ty::context::TyCtxt>>> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_data_structures/src/intern.rs:107:9
  70:     0xffffa3c5894c - <rustc_middle[336b16ad9e7bea9]::ty::Ty as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/mod.rs:462:61
  71:     0xffffa3c5894c - <[rustc_middle[336b16ad9e7bea9]::ty::Ty] as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_data_structures/src/stable_hasher.rs:406:13
  72:     0xffffa3945084 - <&rustc_middle[336b16ad9e7bea9]::ty::list::List<rustc_middle[336b16ad9e7bea9]::ty::Ty> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/impls_ty.rs:32:13
  73:     0xffffa3945084 - <std[f0ab951cdbae5458]::thread::local::LocalKey<core[d61bce0f20d5dda4]::cell::RefCell<std[f0ab951cdbae5458]::collections::hash::map::HashMap<(usize, usize, rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashingControls), rustc_data_structures[5aa6992ce6f03aa4]::fingerprint::Fingerprint, core[d61bce0f20d5dda4]::hash::BuildHasherDefault<rustc_hash[259581b834ff7a24]::FxHasher>>>>>::try_with::<<&rustc_middle[336b16ad9e7bea9]::ty::list::List<rustc_middle[336b16ad9e7bea9]::ty::Ty> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable::{closure#0}, rustc_data_structures[5aa6992ce6f03aa4]::fingerprint::Fingerprint>
                               at /home/gh-spastorino/rust1/library/std/src/thread/local.rs:270:16
  74:     0xffffa3945084 - <std[f0ab951cdbae5458]::thread::local::LocalKey<core[d61bce0f20d5dda4]::cell::RefCell<std[f0ab951cdbae5458]::collections::hash::map::HashMap<(usize, usize, rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashingControls), rustc_data_structures[5aa6992ce6f03aa4]::fingerprint::Fingerprint, core[d61bce0f20d5dda4]::hash::BuildHasherDefault<rustc_hash[259581b834ff7a24]::FxHasher>>>>>::with::<<&rustc_middle[336b16ad9e7bea9]::ty::list::List<rustc_middle[336b16ad9e7bea9]::ty::Ty> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable::{closure#0}, rustc_data_structures[5aa6992ce6f03aa4]::fingerprint::Fingerprint>
                               at /home/gh-spastorino/rust1/library/std/src/thread/local.rs:246:9
  75:     0xffffa38d7b6c - <&rustc_middle[336b16ad9e7bea9]::ty::list::List<rustc_middle[336b16ad9e7bea9]::ty::Ty> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/impls_ty.rs:25:20
  76:     0xffffa38d7b6c - <rustc_middle[336b16ad9e7bea9]::ty::sty::FnSig as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/sty.rs:1363:10
  77:     0xffffa38d7b6c - <rustc_middle[336b16ad9e7bea9]::ty::sty::Binder<rustc_middle[336b16ad9e7bea9]::ty::sty::FnSig> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/sty.rs:1002:10
  78:     0xffffa38d7b6c - <rustc_middle[336b16ad9e7bea9]::ty::generic_args::EarlyBinder<rustc_middle[336b16ad9e7bea9]::ty::sty::Binder<rustc_middle[336b16ad9e7bea9]::ty::sty::FnSig>> as rustc_data_structures[5aa6992ce6f03aa4]::stable_hasher::HashStable<rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext>>::hash_stable
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/generic_args.rs:540:32
  79:     0xffffa38d7b6c - rustc_query_system[399bd927f2b40270]::dep_graph::graph::hash_result::<rustc_middle[336b16ad9e7bea9]::ty::generic_args::EarlyBinder<rustc_middle[336b16ad9e7bea9]::ty::sty::Binder<rustc_middle[336b16ad9e7bea9]::ty::sty::FnSig>>>
                               at /home/gh-spastorino/rust1/compiler/rustc_query_system/src/dep_graph/graph.rs:110:5
  80:     0xffffa3c983fc - rustc_query_impl[bd5b41f1271de366]::query_impl::fn_sig::dynamic_query::{closure#7}
                               at /home/gh-spastorino/rust1/compiler/rustc_query_impl/src/plumbing.rs:261:28
  81:     0xffffa3c983fc - <rustc_query_impl[bd5b41f1271de366]::query_impl::fn_sig::dynamic_query::{closure#7} as core[d61bce0f20d5dda4]::ops::function::FnOnce<(&mut rustc_query_system[399bd927f2b40270]::ich::hcx::StableHashingContext, &rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 24usize]>)>>::call_once
                               at /home/gh-spastorino/rust1/library/core/src/ops/function.rs:250:5
  82:     0xffffa3aa82fc - rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr::<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::DefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#1}
                               at /home/gh-spastorino/rust1/compiler/rustc_query_system/src/query/plumbing.rs:477:13
  83:     0xffffa3aa82fc - <rustc_middle[336b16ad9e7bea9]::ty::context::TyCtxt>::with_stable_hashing_context::<(), rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::DefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#1}>
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/context.rs:1041:9
  84:     0xffffa3aa82fc - <rustc_middle[336b16ad9e7bea9]::ty::context::TyCtxt as rustc_query_system[399bd927f2b40270]::dep_graph::DepContext>::with_stable_hashing_context::<(), rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::DefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#1}>
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/dep_graph/mod.rs:58:9
  85:     0xffffa3aa82fc - rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr::<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::DefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>
                               at /home/gh-spastorino/rust1/compiler/rustc_query_system/src/query/plumbing.rs:476:9
  86:     0xffffa3aa82fc - rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job::<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::DefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt, false>
                               at /home/gh-spastorino/rust1/compiler/rustc_query_system/src/query/plumbing.rs:400:9
  87:     0xffffa3aa82fc - rustc_query_system[399bd927f2b40270]::query::plumbing::try_execute_query::<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::DefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt, false>
                               at /home/gh-spastorino/rust1/compiler/rustc_query_system/src/query/plumbing.rs:343:13
  88:     0xffffa3a12708 - rustc_query_system[399bd927f2b40270]::query::plumbing::get_query_non_incr::<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::DefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_query_system/src/query/plumbing.rs:799:32
  89:     0xffffa3a12708 - stacker[d1fad7ae4a88f0b3]::maybe_grow::<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 24usize]>, rustc_query_system[399bd927f2b40270]::query::plumbing::get_query_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::DefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}>
                               at /home/gh-spastorino/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55:9
  90:     0xffffa3a12708 - rustc_data_structures[5aa6992ce6f03aa4]::stack::ensure_sufficient_stack::<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 24usize]>, rustc_query_system[399bd927f2b40270]::query::plumbing::get_query_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::DefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}>
                               at /home/gh-spastorino/rust1/compiler/rustc_data_structures/src/stack.rs:17:5
  91:     0xffffa3a12708 - rustc_query_system[399bd927f2b40270]::query::plumbing::get_query_non_incr::<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::DefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>
                               at /home/gh-spastorino/rust1/compiler/rustc_query_system/src/query/plumbing.rs:799:5
  92:     0xffffa3a12708 - rustc_query_impl[bd5b41f1271de366]::query_impl::fn_sig::get_query_non_incr::__rust_end_short_backtrace
                               at /home/gh-spastorino/rust1/compiler/rustc_query_impl/src/plumbing.rs:560:26
  93:     0xffffa2b0269c - rustc_middle[336b16ad9e7bea9]::query::plumbing::query_ensure::<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::DefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 24usize]>>>
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/query/plumbing.rs:172:9
  94:     0xffffa2b04e28 - <rustc_middle[336b16ad9e7bea9]::query::plumbing::TyCtxtEnsure>::fn_sig::<rustc_span[aaf6417fb87f1aa3]::def_id::LocalDefId>
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/query/plumbing.rs:398:17
  95:     0xffffa2b04e28 - rustc_hir_analysis[3898983cc927afc4]::collect::convert_item
                               at /home/gh-spastorino/rust1/compiler/rustc_hir_analysis/src/collect.rs:655:13
  96:     0xffffa2b04e28 - <rustc_hir_analysis[3898983cc927afc4]::collect::CollectItemTypesVisitor as rustc_hir[f6a053de50be5ff5]::intravisit::Visitor>::visit_item
                               at /home/gh-spastorino/rust1/compiler/rustc_hir_analysis/src/collect.rs:281:9
  97:     0xffffa2a05c2c - <rustc_middle[336b16ad9e7bea9]::hir::map::Map>::visit_item_likes_in_module::<rustc_hir_analysis[3898983cc927afc4]::collect::CollectItemTypesVisitor>
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/hir/map/mod.rs:604:13
  98:     0xffffa2b03ff4 - rustc_hir_analysis[3898983cc927afc4]::collect::collect_mod_item_types
                               at /home/gh-spastorino/rust1/compiler/rustc_hir_analysis/src/collect.rs:55:5
  99:     0xffffa3b54e74 - rustc_query_impl[bd5b41f1271de366]::query_impl::collect_mod_item_types::dynamic_query::{closure#2}::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_query_impl/src/plumbing.rs:586:47
 100:     0xffffa3b54e74 - rustc_query_impl[bd5b41f1271de366]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[bd5b41f1271de366]::query_impl::collect_mod_item_types::dynamic_query::{closure#2}::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>
                               at /home/gh-spastorino/rust1/compiler/rustc_query_impl/src/plumbing.rs:510:18
 101:     0xffffa3a13158 - rustc_query_impl[bd5b41f1271de366]::query_impl::collect_mod_item_types::dynamic_query::{closure#2}
                               at /home/gh-spastorino/rust1/compiler/rustc_query_impl/src/plumbing.rs:582:25
 102:     0xffffa3a13158 - <rustc_query_impl[bd5b41f1271de366]::query_impl::collect_mod_item_types::dynamic_query::{closure#2} as core[d61bce0f20d5dda4]::ops::function::FnOnce<(rustc_middle[336b16ad9e7bea9]::ty::context::TyCtxt, rustc_span[aaf6417fb87f1aa3]::def_id::LocalModDefId)>>::call_once
                               at /home/gh-spastorino/rust1/library/core/src/ops/function.rs:250:5
 103:     0xffffa3940ba0 - <rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::LocalModDefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>, false, false, false> as rustc_query_system[399bd927f2b40270]::query::config::QueryConfig<rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>>::compute
                               at /home/gh-spastorino/rust1/compiler/rustc_query_impl/src/lib.rs:119:9
 104:     0xffffa3940ba0 - rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr::<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::LocalModDefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_query_system/src/query/plumbing.rs:467:72
 105:     0xffffa3940ba0 - rustc_middle[336b16ad9e7bea9]::ty::context::tls::enter_context::<rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::LocalModDefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/context/tls.rs:82:9
 106:     0xffffa3940ba0 - <std[f0ab951cdbae5458]::thread::local::LocalKey<core[d61bce0f20d5dda4]::cell::Cell<*const ()>>>::try_with::<rustc_middle[336b16ad9e7bea9]::ty::context::tls::enter_context<rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::LocalModDefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>
                               at /home/gh-spastorino/rust1/library/std/src/thread/local.rs:270:16
 107:     0xffffa3940ba0 - <std[f0ab951cdbae5458]::thread::local::LocalKey<core[d61bce0f20d5dda4]::cell::Cell<*const ()>>>::with::<rustc_middle[336b16ad9e7bea9]::ty::context::tls::enter_context<rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::LocalModDefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>
                               at /home/gh-spastorino/rust1/library/std/src/thread/local.rs:246:9
 108:     0xffffa3a9f668 - rustc_middle[336b16ad9e7bea9]::ty::context::tls::enter_context::<rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::LocalModDefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/context/tls.rs:79:5
 109:     0xffffa3a9f668 - <rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt as rustc_query_system[399bd927f2b40270]::query::QueryContext>::start_query::<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>, rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::LocalModDefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_query_impl/src/plumbing.rs:151:13
 110:     0xffffa3a9f668 - rustc_middle[336b16ad9e7bea9]::ty::context::tls::with_related_context::<<rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt as rustc_query_system[399bd927f2b40270]::query::QueryContext>::start_query<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>, rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::LocalModDefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/context/tls.rs:133:9
 111:     0xffffa3a9f668 - rustc_middle[336b16ad9e7bea9]::ty::context::tls::with_context::<rustc_middle[336b16ad9e7bea9]::ty::context::tls::with_related_context<<rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt as rustc_query_system[399bd927f2b40270]::query::QueryContext>::start_query<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>, rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::LocalModDefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/context/tls.rs:111:36
 112:     0xffffa3a9f668 - rustc_middle[336b16ad9e7bea9]::ty::context::tls::with_context_opt::<rustc_middle[336b16ad9e7bea9]::ty::context::tls::with_context<rustc_middle[336b16ad9e7bea9]::ty::context::tls::with_related_context<<rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt as rustc_query_system[399bd927f2b40270]::query::QueryContext>::start_query<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>, rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::LocalModDefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/context/tls.rs:100:18
 113:     0xffffa3a9f668 - rustc_middle[336b16ad9e7bea9]::ty::context::tls::with_context::<rustc_middle[336b16ad9e7bea9]::ty::context::tls::with_related_context<<rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt as rustc_query_system[399bd927f2b40270]::query::QueryContext>::start_query<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>, rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::LocalModDefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/context/tls.rs:111:5
 114:     0xffffa3a9f668 - rustc_middle[336b16ad9e7bea9]::ty::context::tls::with_related_context::<<rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt as rustc_query_system[399bd927f2b40270]::query::QueryContext>::start_query<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>, rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::LocalModDefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/context/tls.rs:124:5
 115:     0xffffa3a9f668 - <rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt as rustc_query_system[399bd927f2b40270]::query::QueryContext>::start_query::<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>, rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::LocalModDefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}>
                               at /home/gh-spastorino/rust1/compiler/rustc_query_impl/src/plumbing.rs:136:9
 116:     0xffffa3a9f668 - rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr::<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::LocalModDefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>
                               at /home/gh-spastorino/rust1/compiler/rustc_query_system/src/query/plumbing.rs:467:18
 117:     0xffffa3a9f668 - rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job::<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::LocalModDefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt, false>
                               at /home/gh-spastorino/rust1/compiler/rustc_query_system/src/query/plumbing.rs:400:9
 118:     0xffffa3a9f668 - rustc_query_system[399bd927f2b40270]::query::plumbing::try_execute_query::<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::LocalModDefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt, false>
                               at /home/gh-spastorino/rust1/compiler/rustc_query_system/src/query/plumbing.rs:343:13
 119:     0xffffa3a44010 - rustc_query_system[399bd927f2b40270]::query::plumbing::get_query_non_incr::<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::LocalModDefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_query_system/src/query/plumbing.rs:799:32
 120:     0xffffa3a44010 - stacker[d1fad7ae4a88f0b3]::maybe_grow::<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>, rustc_query_system[399bd927f2b40270]::query::plumbing::get_query_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::LocalModDefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}>
                               at /home/gh-spastorino/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55:9
 121:     0xffffa3a44010 - rustc_data_structures[5aa6992ce6f03aa4]::stack::ensure_sufficient_stack::<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>, rustc_query_system[399bd927f2b40270]::query::plumbing::get_query_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::LocalModDefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}>
                               at /home/gh-spastorino/rust1/compiler/rustc_data_structures/src/stack.rs:17:5
 122:     0xffffa3a44010 - rustc_query_system[399bd927f2b40270]::query::plumbing::get_query_non_incr::<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::LocalModDefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>
                               at /home/gh-spastorino/rust1/compiler/rustc_query_system/src/query/plumbing.rs:799:5
 123:     0xffffa3a44010 - rustc_query_impl[bd5b41f1271de366]::query_impl::collect_mod_item_types::get_query_non_incr::__rust_end_short_backtrace
                               at /home/gh-spastorino/rust1/compiler/rustc_query_impl/src/plumbing.rs:560:26
 124:     0xffffa2a05fbc - rustc_middle[336b16ad9e7bea9]::query::plumbing::query_ensure::<rustc_query_system[399bd927f2b40270]::query::caches::DefaultCache<rustc_span[aaf6417fb87f1aa3]::def_id::LocalModDefId, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 0usize]>>>
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/query/plumbing.rs:172:9
 125:     0xffffa2a0575c - <rustc_middle[336b16ad9e7bea9]::query::plumbing::TyCtxtEnsure>::collect_mod_item_types
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/query/plumbing.rs:398:17
 126:     0xffffa2a0575c - rustc_hir_analysis[3898983cc927afc4]::check_crate::{closure#0}::{closure#0}::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_hir_analysis/src/lib.rs:174:48
 127:     0xffffa2a0575c - <rustc_middle[336b16ad9e7bea9]::hir::map::Map>::for_each_module::<rustc_hir_analysis[3898983cc927afc4]::check_crate::{closure#0}::{closure#0}::{closure#0}>
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/hir/map/mod.rs:623:13
 128:     0xffffa2a6cd1c - rustc_hir_analysis[3898983cc927afc4]::check_crate::{closure#0}::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_hir_analysis/src/lib.rs:174:13
 129:     0xffffa2a6cd1c - <rustc_data_structures[5aa6992ce6f03aa4]::profiling::VerboseTimingGuard>::run::<(), rustc_hir_analysis[3898983cc927afc4]::check_crate::{closure#0}::{closure#0}>
                               at /home/gh-spastorino/rust1/compiler/rustc_data_structures/src/profiling.rs:752:9
 130:     0xffffa2a6cd1c - <rustc_session[ca530cde75d7cb07]::session::Session>::time::<(), rustc_hir_analysis[3898983cc927afc4]::check_crate::{closure#0}::{closure#0}>
                               at /home/gh-spastorino/rust1/compiler/rustc_session/src/utils.rs:12:9
 131:     0xffffa2a6cd1c - rustc_hir_analysis[3898983cc927afc4]::check_crate::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_hir_analysis/src/lib.rs:173:9
 132:     0xffffa2a6cd1c - <rustc_session[ca530cde75d7cb07]::session::Session>::track_errors::<rustc_hir_analysis[3898983cc927afc4]::check_crate::{closure#0}, ()>
                               at /home/gh-spastorino/rust1/compiler/rustc_session/src/session.rs:580:22
 133:     0xffffa29aee6c - rustc_hir_analysis[3898983cc927afc4]::check_crate
                               at /home/gh-spastorino/rust1/compiler/rustc_hir_analysis/src/lib.rs:172:5
 134:     0xffff9f8a085c - rustc_interface[c127b2b919d81dd4]::passes::analysis
                               at /home/gh-spastorino/rust1/compiler/rustc_interface/src/passes.rs:728:5
 135:     0xffffa3b5fb08 - rustc_query_impl[bd5b41f1271de366]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_query_impl/src/plumbing.rs:586:47
 136:     0xffffa3b5fb08 - rustc_query_impl[bd5b41f1271de366]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[bd5b41f1271de366]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>
                               at /home/gh-spastorino/rust1/compiler/rustc_query_impl/src/plumbing.rs:510:18
 137:     0xffffa3a2f240 - rustc_query_impl[bd5b41f1271de366]::query_impl::analysis::dynamic_query::{closure#2}
                               at /home/gh-spastorino/rust1/compiler/rustc_query_impl/src/plumbing.rs:582:25
 138:     0xffffa3a2f240 - <rustc_query_impl[bd5b41f1271de366]::query_impl::analysis::dynamic_query::{closure#2} as core[d61bce0f20d5dda4]::ops::function::FnOnce<(rustc_middle[336b16ad9e7bea9]::ty::context::TyCtxt, ())>>::call_once
                               at /home/gh-spastorino/rust1/library/core/src/ops/function.rs:250:5
 139:     0xffffa393f80c - <rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::SingleCache<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>, false, false, false> as rustc_query_system[399bd927f2b40270]::query::config::QueryConfig<rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>>::compute
                               at /home/gh-spastorino/rust1/compiler/rustc_query_impl/src/lib.rs:119:9
 140:     0xffffa393f80c - rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr::<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::SingleCache<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_query_system/src/query/plumbing.rs:467:72
 141:     0xffffa393f80c - rustc_middle[336b16ad9e7bea9]::ty::context::tls::enter_context::<rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::SingleCache<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/context/tls.rs:82:9
 142:     0xffffa393f80c - <std[f0ab951cdbae5458]::thread::local::LocalKey<core[d61bce0f20d5dda4]::cell::Cell<*const ()>>>::try_with::<rustc_middle[336b16ad9e7bea9]::ty::context::tls::enter_context<rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::SingleCache<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>
                               at /home/gh-spastorino/rust1/library/std/src/thread/local.rs:270:16
 143:     0xffffa393f80c - <std[f0ab951cdbae5458]::thread::local::LocalKey<core[d61bce0f20d5dda4]::cell::Cell<*const ()>>>::with::<rustc_middle[336b16ad9e7bea9]::ty::context::tls::enter_context<rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::SingleCache<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>
                               at /home/gh-spastorino/rust1/library/std/src/thread/local.rs:246:9
 144:     0xffffa3a76d1c - rustc_middle[336b16ad9e7bea9]::ty::context::tls::enter_context::<rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::SingleCache<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/context/tls.rs:79:5
 145:     0xffffa3a76d1c - <rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt as rustc_query_system[399bd927f2b40270]::query::QueryContext>::start_query::<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::SingleCache<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_query_impl/src/plumbing.rs:151:13
 146:     0xffffa3a76d1c - rustc_middle[336b16ad9e7bea9]::ty::context::tls::with_related_context::<<rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt as rustc_query_system[399bd927f2b40270]::query::QueryContext>::start_query<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::SingleCache<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/context/tls.rs:133:9
 147:     0xffffa3a76d1c - rustc_middle[336b16ad9e7bea9]::ty::context::tls::with_context::<rustc_middle[336b16ad9e7bea9]::ty::context::tls::with_related_context<<rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt as rustc_query_system[399bd927f2b40270]::query::QueryContext>::start_query<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::SingleCache<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/context/tls.rs:111:36
 148:     0xffffa3a76d1c - rustc_middle[336b16ad9e7bea9]::ty::context::tls::with_context_opt::<rustc_middle[336b16ad9e7bea9]::ty::context::tls::with_context<rustc_middle[336b16ad9e7bea9]::ty::context::tls::with_related_context<<rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt as rustc_query_system[399bd927f2b40270]::query::QueryContext>::start_query<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::SingleCache<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/context/tls.rs:100:18
 149:     0xffffa3a76d1c - rustc_middle[336b16ad9e7bea9]::ty::context::tls::with_context::<rustc_middle[336b16ad9e7bea9]::ty::context::tls::with_related_context<<rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt as rustc_query_system[399bd927f2b40270]::query::QueryContext>::start_query<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::SingleCache<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/context/tls.rs:111:5
 150:     0xffffa3a76d1c - rustc_middle[336b16ad9e7bea9]::ty::context::tls::with_related_context::<<rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt as rustc_query_system[399bd927f2b40270]::query::QueryContext>::start_query<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::SingleCache<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/context/tls.rs:124:5
 151:     0xffffa3a76d1c - <rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt as rustc_query_system[399bd927f2b40270]::query::QueryContext>::start_query::<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::SingleCache<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}>
                               at /home/gh-spastorino/rust1/compiler/rustc_query_impl/src/plumbing.rs:136:9
 152:     0xffffa3a76d1c - rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job_non_incr::<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::SingleCache<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>
                               at /home/gh-spastorino/rust1/compiler/rustc_query_system/src/query/plumbing.rs:467:18
 153:     0xffffa3a76d1c - rustc_query_system[399bd927f2b40270]::query::plumbing::execute_job::<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::SingleCache<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt, false>
                               at /home/gh-spastorino/rust1/compiler/rustc_query_system/src/query/plumbing.rs:400:9
 154:     0xffffa3a76d1c - rustc_query_system[399bd927f2b40270]::query::plumbing::try_execute_query::<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::SingleCache<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt, false>
                               at /home/gh-spastorino/rust1/compiler/rustc_query_system/src/query/plumbing.rs:343:13
 155:     0xffffa39c4fd8 - rustc_query_system[399bd927f2b40270]::query::plumbing::get_query_non_incr::<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::SingleCache<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_query_system/src/query/plumbing.rs:799:32
 156:     0xffffa39c4fd8 - stacker[d1fad7ae4a88f0b3]::maybe_grow::<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[399bd927f2b40270]::query::plumbing::get_query_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::SingleCache<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}>
                               at /home/gh-spastorino/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55:9
 157:     0xffffa39c4fd8 - rustc_data_structures[5aa6992ce6f03aa4]::stack::ensure_sufficient_stack::<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[399bd927f2b40270]::query::plumbing::get_query_non_incr<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::SingleCache<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>::{closure#0}>
                               at /home/gh-spastorino/rust1/compiler/rustc_data_structures/src/stack.rs:17:5
 158:     0xffffa39c4fd8 - rustc_query_system[399bd927f2b40270]::query::plumbing::get_query_non_incr::<rustc_query_impl[bd5b41f1271de366]::DynamicConfig<rustc_query_system[399bd927f2b40270]::query::caches::SingleCache<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[bd5b41f1271de366]::plumbing::QueryCtxt>
                               at /home/gh-spastorino/rust1/compiler/rustc_query_system/src/query/plumbing.rs:799:5
 159:     0xffffa39c4fd8 - rustc_query_impl[bd5b41f1271de366]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
                               at /home/gh-spastorino/rust1/compiler/rustc_query_impl/src/plumbing.rs:560:26
 160:     0xffff9f7313f8 - rustc_middle[336b16ad9e7bea9]::query::plumbing::query_get_at::<rustc_query_system[399bd927f2b40270]::query::caches::SingleCache<rustc_middle[336b16ad9e7bea9]::query::erase::Erased<[u8; 1usize]>>>
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/query/plumbing.rs:156:17
 161:     0xffff9f7313f8 - <rustc_middle[336b16ad9e7bea9]::query::plumbing::TyCtxtAt>::analysis
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/query/plumbing.rs:438:31
 162:     0xffff9f7313f8 - <rustc_middle[336b16ad9e7bea9]::ty::context::TyCtxt>::analysis
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/query/plumbing.rs:429:17
 163:     0xffff9f7313f8 - rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}::{closure#0}::{closure#5}
                               at /home/gh-spastorino/rust1/compiler/rustc_driver_impl/src/lib.rs:450:48
 164:     0xffff9f7313f8 - <rustc_middle[336b16ad9e7bea9]::ty::context::GlobalCtxt>::enter::<rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}::{closure#0}::{closure#5}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/context.rs:600:37
 165:     0xffff9f7313f8 - rustc_middle[336b16ad9e7bea9]::ty::context::tls::enter_context::<<rustc_middle[336b16ad9e7bea9]::ty::context::GlobalCtxt>::enter<rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}::{closure#0}::{closure#5}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/context/tls.rs:82:9
 166:     0xffff9f7313f8 - <std[f0ab951cdbae5458]::thread::local::LocalKey<core[d61bce0f20d5dda4]::cell::Cell<*const ()>>>::try_with::<rustc_middle[336b16ad9e7bea9]::ty::context::tls::enter_context<<rustc_middle[336b16ad9e7bea9]::ty::context::GlobalCtxt>::enter<rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}::{closure#0}::{closure#5}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>
                               at /home/gh-spastorino/rust1/library/std/src/thread/local.rs:270:16
 167:     0xffff9f7313f8 - <std[f0ab951cdbae5458]::thread::local::LocalKey<core[d61bce0f20d5dda4]::cell::Cell<*const ()>>>::with::<rustc_middle[336b16ad9e7bea9]::ty::context::tls::enter_context<<rustc_middle[336b16ad9e7bea9]::ty::context::GlobalCtxt>::enter<rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}::{closure#0}::{closure#5}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>
                               at /home/gh-spastorino/rust1/library/std/src/thread/local.rs:246:9
 168:     0xffff9f740874 - rustc_middle[336b16ad9e7bea9]::ty::context::tls::enter_context::<<rustc_middle[336b16ad9e7bea9]::ty::context::GlobalCtxt>::enter<rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}::{closure#0}::{closure#5}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/context/tls.rs:79:5
 169:     0xffff9f740874 - <rustc_middle[336b16ad9e7bea9]::ty::context::GlobalCtxt>::enter::<rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}::{closure#0}::{closure#5}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>
                               at /home/gh-spastorino/rust1/compiler/rustc_middle/src/ty/context.rs:600:9
 170:     0xffff9f740874 - <rustc_interface[c127b2b919d81dd4]::queries::QueryResult<&rustc_middle[336b16ad9e7bea9]::ty::context::GlobalCtxt>>::enter::<core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>, rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}::{closure#0}::{closure#5}>
                               at /home/gh-spastorino/rust1/compiler/rustc_interface/src/queries.rs:68:9
 171:     0xffff9f70cba4 - rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_driver_impl/src/lib.rs:450:13
 172:     0xffff9f70cba4 - <rustc_interface[c127b2b919d81dd4]::interface::Compiler>::enter::<rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}::{closure#0}, core[d61bce0f20d5dda4]::result::Result<core[d61bce0f20d5dda4]::option::Option<rustc_interface[c127b2b919d81dd4]::queries::Linker>, rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>
                               at /home/gh-spastorino/rust1/compiler/rustc_interface/src/queries.rs:309:19
 173:     0xffff9f71ab50 - rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_driver_impl/src/lib.rs:394:22
 174:     0xffff9f71ab50 - rustc_interface[c127b2b919d81dd4]::interface::run_compiler::<core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>, rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}>::{closure#0}::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_interface/src/interface.rs:503:21
 175:     0xffff9f71ab50 - rustc_span[aaf6417fb87f1aa3]::set_source_map::<core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>, rustc_interface[c127b2b919d81dd4]::interface::run_compiler<core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>, rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}>::{closure#0}::{closure#0}>
                               at /home/gh-spastorino/rust1/compiler/rustc_span/src/lib.rs:1058:5
 176:     0xffff9f7236cc - rustc_interface[c127b2b919d81dd4]::interface::run_compiler::<core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>, rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}>::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_interface/src/interface.rs:497:13
 177:     0xffff9f7236cc - rustc_interface[c127b2b919d81dd4]::util::run_in_thread_pool_with_globals::<rustc_interface[c127b2b919d81dd4]::interface::run_compiler<core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>, rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_interface/src/util.rs:117:13
 178:     0xffff9f7236cc - <scoped_tls[381619d033168be3]::ScopedKey<rustc_span[aaf6417fb87f1aa3]::SessionGlobals>>::set::<rustc_interface[c127b2b919d81dd4]::util::run_in_thread_pool_with_globals<rustc_interface[c127b2b919d81dd4]::interface::run_compiler<core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>, rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>
                               at /home/gh-spastorino/.cargo/registry/src/index.crates.io-6f17d22bba15001f/scoped-tls-1.0.1/src/lib.rs:137:9
 179:     0xffff9f71af8c - rustc_span[aaf6417fb87f1aa3]::create_session_globals_then::<core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>, rustc_interface[c127b2b919d81dd4]::util::run_in_thread_pool_with_globals<rustc_interface[c127b2b919d81dd4]::interface::run_compiler<core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>, rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}>
                               at /home/gh-spastorino/rust1/compiler/rustc_span/src/lib.rs:130:5
 180:     0xffff9f7659bc - rustc_interface[c127b2b919d81dd4]::util::run_in_thread_with_globals::<rustc_interface[c127b2b919d81dd4]::util::run_in_thread_pool_with_globals<rustc_interface[c127b2b919d81dd4]::interface::run_compiler<core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>, rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}::{closure#0}
                               at /home/gh-spastorino/rust1/compiler/rustc_interface/src/util.rs:79:38
 181:     0xffff9f7659bc - std[f0ab951cdbae5458]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[c127b2b919d81dd4]::util::run_in_thread_with_globals<rustc_interface[c127b2b919d81dd4]::util::run_in_thread_pool_with_globals<rustc_interface[c127b2b919d81dd4]::interface::run_compiler<core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>, rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>
                               at /home/gh-spastorino/rust1/library/std/src/sys_common/backtrace.rs:155:18
 182:     0xffff9f73e0e8 - <std[f0ab951cdbae5458]::thread::Builder>::spawn_unchecked_::<rustc_interface[c127b2b919d81dd4]::util::run_in_thread_with_globals<rustc_interface[c127b2b919d81dd4]::util::run_in_thread_pool_with_globals<rustc_interface[c127b2b919d81dd4]::interface::run_compiler<core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>, rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#1}::{closure#0}
                               at /home/gh-spastorino/rust1/library/std/src/thread/mod.rs:529:17
 183:     0xffff9f73e0e8 - <core[d61bce0f20d5dda4]::panic::unwind_safe::AssertUnwindSafe<<std[f0ab951cdbae5458]::thread::Builder>::spawn_unchecked_<rustc_interface[c127b2b919d81dd4]::util::run_in_thread_with_globals<rustc_interface[c127b2b919d81dd4]::util::run_in_thread_pool_with_globals<rustc_interface[c127b2b919d81dd4]::interface::run_compiler<core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>, rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#1}::{closure#0}> as core[d61bce0f20d5dda4]::ops::function::FnOnce<()>>::call_once
                               at /home/gh-spastorino/rust1/library/core/src/panic/unwind_safe.rs:272:9
 184:     0xffff9f73e0e8 - std[f0ab951cdbae5458]::panicking::try::do_call::<core[d61bce0f20d5dda4]::panic::unwind_safe::AssertUnwindSafe<<std[f0ab951cdbae5458]::thread::Builder>::spawn_unchecked_<rustc_interface[c127b2b919d81dd4]::util::run_in_thread_with_globals<rustc_interface[c127b2b919d81dd4]::util::run_in_thread_pool_with_globals<rustc_interface[c127b2b919d81dd4]::interface::run_compiler<core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>, rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#1}::{closure#0}>, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>
                               at /home/gh-spastorino/rust1/library/std/src/panicking.rs:552:40
 185:     0xffff9f73e0e8 - std[f0ab951cdbae5458]::panicking::try::<core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>, core[d61bce0f20d5dda4]::panic::unwind_safe::AssertUnwindSafe<<std[f0ab951cdbae5458]::thread::Builder>::spawn_unchecked_<rustc_interface[c127b2b919d81dd4]::util::run_in_thread_with_globals<rustc_interface[c127b2b919d81dd4]::util::run_in_thread_pool_with_globals<rustc_interface[c127b2b919d81dd4]::interface::run_compiler<core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>, rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#1}::{closure#0}>>
                               at /home/gh-spastorino/rust1/library/std/src/panicking.rs:516:19
 186:     0xffff9f7606d4 - std[f0ab951cdbae5458]::panic::catch_unwind::<core[d61bce0f20d5dda4]::panic::unwind_safe::AssertUnwindSafe<<std[f0ab951cdbae5458]::thread::Builder>::spawn_unchecked_<rustc_interface[c127b2b919d81dd4]::util::run_in_thread_with_globals<rustc_interface[c127b2b919d81dd4]::util::run_in_thread_pool_with_globals<rustc_interface[c127b2b919d81dd4]::interface::run_compiler<core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>, rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#1}::{closure#0}>, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>
                               at /home/gh-spastorino/rust1/library/std/src/panic.rs:142:14
 187:     0xffff9f7606d4 - <std[f0ab951cdbae5458]::thread::Builder>::spawn_unchecked_::<rustc_interface[c127b2b919d81dd4]::util::run_in_thread_with_globals<rustc_interface[c127b2b919d81dd4]::util::run_in_thread_pool_with_globals<rustc_interface[c127b2b919d81dd4]::interface::run_compiler<core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>, rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#1}
                               at /home/gh-spastorino/rust1/library/std/src/thread/mod.rs:528:30
 188:     0xffff9f7606d4 - <<std[f0ab951cdbae5458]::thread::Builder>::spawn_unchecked_<rustc_interface[c127b2b919d81dd4]::util::run_in_thread_with_globals<rustc_interface[c127b2b919d81dd4]::util::run_in_thread_pool_with_globals<rustc_interface[c127b2b919d81dd4]::interface::run_compiler<core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>, rustc_driver_impl[77ac2849ca7e61bc]::run_compiler::{closure#0}>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[d61bce0f20d5dda4]::result::Result<(), rustc_span[aaf6417fb87f1aa3]::ErrorGuaranteed>>::{closure#1} as core[d61bce0f20d5dda4]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
                               at /home/gh-spastorino/rust1/library/core/src/ops/function.rs:250:5
 189:     0xffff9e626758 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h97041ad92e298a3e
                               at /home/gh-spastorino/rust1/library/alloc/src/boxed.rs:2007:9
 190:     0xffff9e626758 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hba697eedeea21e93
                               at /home/gh-spastorino/rust1/library/alloc/src/boxed.rs:2007:9
 191:     0xffff9e5f66d8 - std::sys::unix::thread::Thread::new::thread_start::h4220ac6299448f4b
                               at /home/gh-spastorino/rust1/library/std/src/sys/unix/thread.rs:108:17
 192:     0xffff9e44d5c8 - start_thread
                               at ./nptl/pthread_create.c:442:8
 193:     0xffff9e4b5d9c - thread_start
                               at ./misc/../sysdeps/unix/sysv/linux/aarch64/clone.S:79
 194:                0x0 - <unknown>

error: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: please attach the file at `/home/gh-spastorino/rust1/rustc-ice-2023-11-21T11_44_48-4007334.txt` to your bug report

query stack during panic:
#0 [collect_mod_item_types] collecting item types in top-level module
#1 [analysis] running analysis passes on this crate
end of query stack

@lcnr
Copy link
Contributor

lcnr commented Nov 21, 2023

you probably have to resolve the region vars in the returned alias 🤔 cc @compiler-errors do we not have an existing folder for that apart from eval_ctxt::canonical::EagerResolver? I expect us to normalize for<'a> fn(Foo<fn(Foo<fn(&'static ())>::Assoc)>::Assoc) to for<'a> fn(&'1 ()) with '1 == '0 and '0 == 'static constraints. We have to resolve '1 to 'static as it is local to the infcx created inside of this function and otherwise leaks to the caller.

@lcnr
Copy link
Contributor

lcnr commented Nov 21, 2023

I expect us to normalize for<'a> fn(Foo<fn(Foo<fn(&'static ())>::Assoc)>::Assoc) to for<'a> fn(&'1 ()) with '1 == '0 and '0 == 'static constraints. We have to resolve '1 to 'static as it is local to the infcx created inside of this function and otherwise leaks to the caller.

ah... we mostly already do so in the PlaceholderReplacer, we don't resolve type and const infer vars though. We should also recur if there are ty or const infer vars and shallow_resolve them.

@matthiaskrgr
Copy link
Member

#118118 (comment)
sounds familiar I think we have tickets for this ice msg, not sure if same rootcause though

@spastorino
Copy link
Member Author

spastorino commented Nov 21, 2023

#118118 (comment) sounds familiar I think we have tickets for this ice msg, not sure if same rootcause though

Yes, there's #112397

@spastorino
Copy link
Member Author

I've extracted the select function in 5cfc9f3. I'm not sure if I like how the code looks like to be honest.

Maybe we should extract first this https://github.com/spastorino/rust/blob/5cfc9f34345f2d217562c685bad230d05880facb/compiler/rustc_hir_analysis/src/astconv/mod.rs#L1653-L1681

Maybe also this https://github.com/spastorino/rust/blob/5cfc9f34345f2d217562c685bad230d05880facb/compiler/rustc_hir_analysis/src/astconv/mod.rs#L1695-L1709

And leave the current extracted thing in the main function.

@lcnr @compiler-errors thoughts?

@lcnr
Copy link
Contributor

lcnr commented Nov 21, 2023

yeah, probably makes sense to refactor it further

you could move https://github.com/spastorino/rust/blob/5cfc9f34345f2d217562c685bad230d05880facb/compiler/rustc_hir_analysis/src/astconv/mod.rs#L1686-L1718 back out of with_replaced_bound_vars as it doesn't do any type system stuff with the alias. That should allow you to remove some of the args to the find_candidates function (which should probably have a more specific name filter_inherent_assoc_type_candidates or sth)

@spastorino
Copy link
Member Author

yeah, probably makes sense to refactor it further

you could move https://github.com/spastorino/rust/blob/5cfc9f34345f2d217562c685bad230d05880facb/compiler/rustc_hir_analysis/src/astconv/mod.rs#L1686-L1718 back out of with_replaced_bound_vars as it doesn't do any type system stuff with the alias. That should allow you to remove some of the args to the find_candidates function (which should probably have a more specific name filter_inherent_assoc_type_candidates or sth)

This is not possible because of applicable_candidates that would be needed inside and outside the closure. I think the best way is to extract https://github.com/spastorino/rust/blob/5cfc9f34345f2d217562c685bad230d05880facb/compiler/rustc_hir_analysis/src/astconv/mod.rs#L1653-L1681 which I think is what @compiler-errors originally suggested.

@spastorino spastorino force-pushed the do-not-erase-late-bound-regions-on-iat branch from 5cfc9f3 to 0e29a47 Compare November 21, 2023 17:23
@spastorino
Copy link
Member Author

spastorino commented Nov 21, 2023

I think the refactor done in 642b89e is better but would leave up to you @compiler-errors @lcnr

Edit: force pushed because I've reordered select_inherent_assoc_type_candidates arguments.

@spastorino spastorino force-pushed the do-not-erase-late-bound-regions-on-iat branch from 0e29a47 to 642b89e Compare November 21, 2023 17:26
@bors
Copy link
Contributor

bors commented Nov 22, 2023

☔ The latest upstream changes (presumably #118143) made this pull request unmergeable. Please resolve the merge conflicts.

@spastorino spastorino force-pushed the do-not-erase-late-bound-regions-on-iat branch 3 times, most recently from f07f0e9 to e5397d3 Compare November 23, 2023 19:47
@rust-log-analyzer

This comment has been minimized.

@spastorino spastorino force-pushed the do-not-erase-late-bound-regions-on-iat branch from e5397d3 to 42fc2f9 Compare November 24, 2023 12:57
bors added a commit to rust-lang-ci/rust that referenced this pull request Nov 25, 2023
… r=compiler-errors

Make PlaceholderReplacer shallow_resolver and recur when infer vars

This makes resolve type and const infer vars resolve.

Given:

```rust
#![feature(inherent_associated_types)]
#![allow(incomplete_features)]

struct Foo<T>(T);

impl<'a> Foo<fn(&'a ())> {
    type Assoc = &'a ();
}

fn bar(_: for<'a> fn(Foo<fn(Foo<fn(&'static ())>::Assoc)>::Assoc)) {}

fn main() {}
```

We should normalize `for<'a> fn(Foo<fn(Foo<fn(&'static ())>::Assoc)>::Assoc)` to `for<'0> fn(&'1 ())` with `'1 == '0` and `'0 == 'static` constraints. We have to resolve `'1` to `'static` in the infcx associated to `PlaceholderReplacer`.

This is part of rust-lang#118118 but unrelated to that PR.

r? `@compiler-errors` `@lcnr`
fmease added a commit to fmease/rust that referenced this pull request Nov 25, 2023
…infer, r=compiler-errors

Move EagerResolution to rustc_infer::infer::resolve

`EagerResolver` fits better in `rustc_infer::infer::resolver`.

Started to disentagle rust-lang#118118 that has a lot of unrelated things.

r? `@compiler-errors` `@lcnr`
fmease added a commit to fmease/rust that referenced this pull request Nov 25, 2023
…=compiler-errors

Relate Inherent Associated Types using eq

We should call `eq` instead of `sup` as we're relating `Ty` directly and not `Binder<TraitRef>`.

This is part of rust-lang#118118 but unrelated to that PR.

r? `@compiler-errors` `@lcnr`
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Nov 25, 2023
Rollup merge of rust-lang#118262 - spastorino:relate-iats-using-eq, r=compiler-errors

Relate Inherent Associated Types using eq

We should call `eq` instead of `sup` as we're relating `Ty` directly and not `Binder<TraitRef>`.

This is part of rust-lang#118118 but unrelated to that PR.

r? `@compiler-errors` `@lcnr`
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Nov 25, 2023
Rollup merge of rust-lang#118259 - spastorino:move-eager-resolver-to-infer, r=compiler-errors

Move EagerResolution to rustc_infer::infer::resolve

`EagerResolver` fits better in `rustc_infer::infer::resolver`.

Started to disentagle rust-lang#118118 that has a lot of unrelated things.

r? `@compiler-errors` `@lcnr`
bors added a commit to rust-lang/miri that referenced this pull request Nov 25, 2023
…er-errors

Make PlaceholderReplacer shallow_resolver and recur when infer vars

This makes resolve type and const infer vars resolve.

Given:

```rust
#![feature(inherent_associated_types)]
#![allow(incomplete_features)]

struct Foo<T>(T);

impl<'a> Foo<fn(&'a ())> {
    type Assoc = &'a ();
}

fn bar(_: for<'a> fn(Foo<fn(Foo<fn(&'static ())>::Assoc)>::Assoc)) {}

fn main() {}
```

We should normalize `for<'a> fn(Foo<fn(Foo<fn(&'static ())>::Assoc)>::Assoc)` to `for<'0> fn(&'1 ())` with `'1 == '0` and `'0 == 'static` constraints. We have to resolve `'1` to `'static` in the infcx associated to `PlaceholderReplacer`.

This is part of rust-lang/rust#118118 but unrelated to that PR.

r? `@compiler-errors` `@lcnr`
@spastorino spastorino force-pushed the do-not-erase-late-bound-regions-on-iat branch from 42c7df9 to 6312382 Compare November 25, 2023 18:35
@spastorino
Copy link
Member Author

I've just rebased and force pushed with the solution I think is more correct.

There's also this alternative 42c7df9

@lcnr @compiler-errors let me know what do you prefer but I think this should be ready to be merged as is.

compiler/rustc_trait_selection/src/traits/project.rs Outdated Show resolved Hide resolved
compiler/rustc_hir_analysis/src/astconv/mod.rs Outdated Show resolved Hide resolved
compiler/rustc_hir_analysis/src/astconv/mod.rs Outdated Show resolved Hide resolved
compiler/rustc_hir_analysis/src/astconv/mod.rs Outdated Show resolved Hide resolved
compiler/rustc_hir_analysis/src/astconv/mod.rs Outdated Show resolved Hide resolved
@spastorino spastorino force-pushed the do-not-erase-late-bound-regions-on-iat branch from 6312382 to 440f46d Compare November 25, 2023 20:48
@spastorino
Copy link
Member Author

@compiler-errors very good suggestions, have applied all of them.

@lcnr
Copy link
Contributor

lcnr commented Nov 27, 2023

you've had a bunch of review comments, so

r? @compiler-errors

@rustbot rustbot assigned compiler-errors and unassigned lcnr Nov 27, 2023
@spastorino
Copy link
Member Author

@lcnr no worries it's fine. @compiler-errors let me know if there's something else to do here or if this is just ready.

@compiler-errors
Copy link
Member

@bors r+

@bors
Copy link
Contributor

bors commented Nov 27, 2023

📌 Commit 440f46d has been approved by compiler-errors

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Nov 27, 2023
@bors
Copy link
Contributor

bors commented Nov 27, 2023

⌛ Testing commit 440f46d with merge b4c4664...

@bors
Copy link
Contributor

bors commented Nov 27, 2023

☀️ Test successful - checks-actions
Approved by: compiler-errors
Pushing b4c4664 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Nov 27, 2023
@bors bors merged commit b4c4664 into rust-lang:master Nov 27, 2023
12 checks passed
@rustbot rustbot added this to the 1.76.0 milestone Nov 27, 2023
bors added a commit to rust-lang-ci/rust that referenced this pull request Nov 28, 2023
…r=<try>

Fix for TypeId exposes equality-by-subtyping vs normal-form-syntactic-equality unsoundness

Fixes rust-lang#97156

This PR revives rust-lang#97427 idea, it sits on top of rust-lang#118118 because the idea uncovered some problems with IATs.

r? `@lcnr`

This is ICEing yet for `tests/ui/traits/new-solver/escaping-bound-vars-in-writeback-normalization.rs` using the new trait solver.
After rust-lang#118118 and this ICE is fixed, we would need a rebase and a crater run.

Opening as a WIP for now.
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (b4c4664): comparison URL.

Overall result: ❌ regressions - no action needed

@rustbot label: -perf-regression

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
1.1% [1.1%, 1.1%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.3% [2.3%, 2.3%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.7% [-3.7%, -3.7%] 1
All ❌✅ (primary) - - 0

Cycles

This benchmark run did not return any relevant results for this metric.

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 676.072s -> 674.379s (-0.25%)
Artifact size: 313.34 MiB -> 313.34 MiB (0.00%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ice: ... was a subtype of ... during selection but now it is not
8 participants