Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ICE: unexpected inference var #123141

Closed
matthiaskrgr opened this issue Mar 27, 2024 · 5 comments · Fixed by #135057
Closed

ICE: unexpected inference var #123141

matthiaskrgr opened this issue Mar 27, 2024 · 5 comments · Fixed by #135057
Labels
C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ S-bug-has-test Status: This bug is tracked inside the repo by a `known-bug` test. S-has-mcve Status: A Minimal Complete and Verifiable Example has been found for this issue T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@matthiaskrgr
Copy link
Member

auto-reduced (treereduce-rust):

trait ConstChunksExactTrait<T> {
    fn const_chunks_exact<const N: usize>(&self) -> ConstChunksExact<'_, T, { N }>;
}

impl<T> ConstChunksExactTrait<T> for [T] {}

struct ConstChunksExact<'a, T: 'a, const N: usize> {}

impl<'a, T, const N: usize> Iterator for ConstChunksExact<'a, T, { rem }> {
    type Item = &'a [T; N];
}

fn main() {
    let slice = &[1i32, 2, 3, 4, 5, 6, 7, 7, 9, 1i32];

    let mut iter = [[1, 2, 3], [4, 5, 6], [7, 8, 9]].iter();

    for a in slice.const_chunks_exact::<3>() {
        assert_eq!(a, iter.next().unwrap());
    }
}

original:

trait ConstChunksExactTrait<T> {
    fn const_chunks_exact<const N: usize>(&self) -> ConstChunksExact<'_, T, {N}>;
}

impl <T> ConstChunksExactTrait<T> for [T] {
    
}

struct ConstChunksExact<'a, T: 'a, const N: usize> {
    
}

impl <'a, T: , const N: usize> Iterator for ConstChunksExact<'a, T, {rem}> {
    type Item = &'a [T; N];

    
}

fn main() {
    let slice = &[1i32, 2, 3, 4, 5, 6, 7, 7, 9, 1i32];

    let mut iter = [[1, 2, 3], [4, 5, 6], [7, 8 ,9]].iter();

    for a in slice.const_chunks_exact::<3>() {
        assert_eq!(a, iter.next().unwrap());
    }
}

Version information

rustc 1.79.0-nightly (d5db7fb53 2024-03-27)
binary: rustc
commit-hash: d5db7fb537c0352eec3855aa0331c271c48ac4f6
commit-date: 2024-03-27
host: x86_64-unknown-linux-gnu
release: 1.79.0-nightly
LLVM version: 18.1.2

Command:
/home/matthias/.rustup/toolchains/master/bin/rustc

Program output

error[E0425]: cannot find value `rem` in this scope
 --> /tmp/icemaker_global_tempdir.JGsE6bNlDQ7v/rustc_testrunner_tmpdir_reporting.whgKI9sRtmMz/mvce.rs:9:68
  |
9 | impl<'a, T, const N: usize> Iterator for ConstChunksExact<'a, T, { rem }> {
  |                                                                    ^^^ not found in this scope
  |
help: you might be missing a const parameter
  |
9 | impl<'a, T, const N: usize, const rem: /* Type */> Iterator for ConstChunksExact<'a, T, { rem }> {
  |                           +++++++++++++++++++++++

error[E0046]: not all trait items implemented, missing: `const_chunks_exact`
 --> /tmp/icemaker_global_tempdir.JGsE6bNlDQ7v/rustc_testrunner_tmpdir_reporting.whgKI9sRtmMz/mvce.rs:5:1
  |
2 |     fn const_chunks_exact<const N: usize>(&self) -> ConstChunksExact<'_, T, { N }>;
  |     ------------------------------------------------------------------------------- `const_chunks_exact` from trait
...
5 | impl<T> ConstChunksExactTrait<T> for [T] {}
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `const_chunks_exact` in implementation

error[E0392]: lifetime parameter `'a` is never used
 --> /tmp/icemaker_global_tempdir.JGsE6bNlDQ7v/rustc_testrunner_tmpdir_reporting.whgKI9sRtmMz/mvce.rs:7:25
  |
7 | struct ConstChunksExact<'a, T: 'a, const N: usize> {}
  |                         ^^ unused lifetime parameter
  |
  = help: consider removing `'a`, referring to it in a field, or using a marker such as `PhantomData`

error[E0392]: type parameter `T` is never used
 --> /tmp/icemaker_global_tempdir.JGsE6bNlDQ7v/rustc_testrunner_tmpdir_reporting.whgKI9sRtmMz/mvce.rs:7:29
  |
7 | struct ConstChunksExact<'a, T: 'a, const N: usize> {}
  |                             ^ unused type parameter
  |
  = help: consider removing `T`, referring to it in a field, or using a marker such as `PhantomData`

error[E0207]: the const parameter `N` is not constrained by the impl trait, self type, or predicates
 --> /tmp/icemaker_global_tempdir.JGsE6bNlDQ7v/rustc_testrunner_tmpdir_reporting.whgKI9sRtmMz/mvce.rs:9:13
  |
9 | impl<'a, T, const N: usize> Iterator for ConstChunksExact<'a, T, { rem }> {
  |             ^^^^^^^^^^^^^^ unconstrained const parameter
  |
  = note: expressions using a const parameter must map each value to a distinct output value
  = note: proving the result of expressions other than the parameter are unique is not supported

thread 'rustc' panicked at compiler/rustc_borrowck/src/type_check/relate_tys.rs:362:9:
unexpected inference var std::option::Option<&'?16 [i32; ?0c: usize]>
stack backtrace:
   0:     0x70ec8827b235 - std::backtrace_rs::backtrace::libunwind::trace::h35c05b60de86c082
                               at /rustc/d5db7fb537c0352eec3855aa0331c271c48ac4f6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
   1:     0x70ec8827b235 - std::backtrace_rs::backtrace::trace_unsynchronized::h716cc93b6616466b
                               at /rustc/d5db7fb537c0352eec3855aa0331c271c48ac4f6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x70ec8827b235 - std::sys_common::backtrace::_print_fmt::h2eafab78e5405086
                               at /rustc/d5db7fb537c0352eec3855aa0331c271c48ac4f6/library/std/src/sys_common/backtrace.rs:68:5
   3:     0x70ec8827b235 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h782eb93aef6bbfdc
                               at /rustc/d5db7fb537c0352eec3855aa0331c271c48ac4f6/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x70ec882cc3fb - core::fmt::rt::Argument::fmt::h423c1825313972bd
                               at /rustc/d5db7fb537c0352eec3855aa0331c271c48ac4f6/library/core/src/fmt/rt.rs:142:9
   5:     0x70ec882cc3fb - core::fmt::write::h8bf0eb0713660507
                               at /rustc/d5db7fb537c0352eec3855aa0331c271c48ac4f6/library/core/src/fmt/mod.rs:1153:17
   6:     0x70ec8826fe4f - std::io::Write::write_fmt::h1869b88304121496
                               at /rustc/d5db7fb537c0352eec3855aa0331c271c48ac4f6/library/std/src/io/mod.rs:1843:15
   7:     0x70ec8827b00e - std::sys_common::backtrace::_print::h3f71a60e8eec22db
                               at /rustc/d5db7fb537c0352eec3855aa0331c271c48ac4f6/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x70ec8827b00e - std::sys_common::backtrace::print::hbc0f4a4435261b96
                               at /rustc/d5db7fb537c0352eec3855aa0331c271c48ac4f6/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x70ec8827dc89 - std::panicking::default_hook::{{closure}}::hcb90344a23466037
  10:     0x70ec8827d9f3 - std::panicking::default_hook::h4e7402b852825f26
                               at /rustc/d5db7fb537c0352eec3855aa0331c271c48ac4f6/library/std/src/panicking.rs:292:9
  11:     0x70ec84bf7eee - std[ee38f4c3e7db4cb4]::panicking::update_hook::<alloc[5f51a9fa993ddee8]::boxed::Box<rustc_driver_impl[b62da54691605f75]::install_ice_hook::{closure#0}>>::{closure#0}
  12:     0x70ec8827e38c - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h41b4c40829d8b80c
                               at /rustc/d5db7fb537c0352eec3855aa0331c271c48ac4f6/library/alloc/src/boxed.rs:2032:9
  13:     0x70ec8827e38c - std::panicking::rust_panic_with_hook::h34319b28877d2524
                               at /rustc/d5db7fb537c0352eec3855aa0331c271c48ac4f6/library/std/src/panicking.rs:793:13
  14:     0x70ec8827e136 - std::panicking::begin_panic_handler::{{closure}}::h0eb0df2dd2d8dc83
                               at /rustc/d5db7fb537c0352eec3855aa0331c271c48ac4f6/library/std/src/panicking.rs:658:13
  15:     0x70ec8827b6f9 - std::sys_common::backtrace::__rust_end_short_backtrace::h78e6ce0174ef8f2f
                               at /rustc/d5db7fb537c0352eec3855aa0331c271c48ac4f6/library/std/src/sys_common/backtrace.rs:171:18
  16:     0x70ec8827de67 - rust_begin_unwind
                               at /rustc/d5db7fb537c0352eec3855aa0331c271c48ac4f6/library/std/src/panicking.rs:646:5
  17:     0x70ec882c8896 - core::panicking::panic_fmt::hb9147ccf68681889
                               at /rustc/d5db7fb537c0352eec3855aa0331c271c48ac4f6/library/core/src/panicking.rs:72:14
  18:     0x70ec864d1c29 - <rustc_borrowck[87c1aa11a50066c]::type_check::relate_tys::NllTypeRelating as rustc_middle[edfcb02b6a244f2]::ty::relate::TypeRelation>::tys
  19:     0x70ec864d639b - <rustc_borrowck[87c1aa11a50066c]::type_check::TypeChecker>::typeck_mir
  20:     0x70ec8369047a - rustc_borrowck[87c1aa11a50066c]::type_check::type_check
  21:     0x70ec836ca0aa - rustc_borrowck[87c1aa11a50066c]::nll::compute_regions
  22:     0x70ec86fe5af2 - rustc_borrowck[87c1aa11a50066c]::do_mir_borrowck
  23:     0x70ec861def26 - rustc_borrowck[87c1aa11a50066c]::mir_borrowck
  24:     0x70ec861dea17 - rustc_query_impl[2d2f12ae863522a2]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[2d2f12ae863522a2]::query_impl::mir_borrowck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[edfcb02b6a244f2]::query::erase::Erased<[u8; 8usize]>>
  25:     0x70ec861e0971 - rustc_query_system[1181c72fefabd0ae]::query::plumbing::try_execute_query::<rustc_query_impl[2d2f12ae863522a2]::DynamicConfig<rustc_query_system[1181c72fefabd0ae]::query::caches::VecCache<rustc_span[b9a3f8dff5ad8c72]::def_id::LocalDefId, rustc_middle[edfcb02b6a244f2]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[2d2f12ae863522a2]::plumbing::QueryCtxt, false>
  26:     0x70ec861e048c - rustc_query_impl[2d2f12ae863522a2]::query_impl::mir_borrowck::get_query_non_incr::__rust_end_short_backtrace
  27:     0x70ec8654b49d - rustc_interface[8a3ca12de370bc6d]::passes::analysis
  28:     0x70ec8654a659 - rustc_query_impl[2d2f12ae863522a2]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[2d2f12ae863522a2]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[edfcb02b6a244f2]::query::erase::Erased<[u8; 1usize]>>
  29:     0x70ec86d94da5 - rustc_query_system[1181c72fefabd0ae]::query::plumbing::try_execute_query::<rustc_query_impl[2d2f12ae863522a2]::DynamicConfig<rustc_query_system[1181c72fefabd0ae]::query::caches::SingleCache<rustc_middle[edfcb02b6a244f2]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[2d2f12ae863522a2]::plumbing::QueryCtxt, false>
  30:     0x70ec86d94b09 - rustc_query_impl[2d2f12ae863522a2]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
  31:     0x70ec86c87299 - rustc_interface[8a3ca12de370bc6d]::interface::run_compiler::<core[852c89a24d64efc7]::result::Result<(), rustc_span[b9a3f8dff5ad8c72]::ErrorGuaranteed>, rustc_driver_impl[b62da54691605f75]::run_compiler::{closure#0}>::{closure#0}
  32:     0x70ec86d665e3 - std[ee38f4c3e7db4cb4]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[8a3ca12de370bc6d]::util::run_in_thread_with_globals<rustc_interface[8a3ca12de370bc6d]::util::run_in_thread_pool_with_globals<rustc_interface[8a3ca12de370bc6d]::interface::run_compiler<core[852c89a24d64efc7]::result::Result<(), rustc_span[b9a3f8dff5ad8c72]::ErrorGuaranteed>, rustc_driver_impl[b62da54691605f75]::run_compiler::{closure#0}>::{closure#0}, core[852c89a24d64efc7]::result::Result<(), rustc_span[b9a3f8dff5ad8c72]::ErrorGuaranteed>>::{closure#0}, core[852c89a24d64efc7]::result::Result<(), rustc_span[b9a3f8dff5ad8c72]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[852c89a24d64efc7]::result::Result<(), rustc_span[b9a3f8dff5ad8c72]::ErrorGuaranteed>>
  33:     0x70ec86d66410 - <<std[ee38f4c3e7db4cb4]::thread::Builder>::spawn_unchecked_<rustc_interface[8a3ca12de370bc6d]::util::run_in_thread_with_globals<rustc_interface[8a3ca12de370bc6d]::util::run_in_thread_pool_with_globals<rustc_interface[8a3ca12de370bc6d]::interface::run_compiler<core[852c89a24d64efc7]::result::Result<(), rustc_span[b9a3f8dff5ad8c72]::ErrorGuaranteed>, rustc_driver_impl[b62da54691605f75]::run_compiler::{closure#0}>::{closure#0}, core[852c89a24d64efc7]::result::Result<(), rustc_span[b9a3f8dff5ad8c72]::ErrorGuaranteed>>::{closure#0}, core[852c89a24d64efc7]::result::Result<(), rustc_span[b9a3f8dff5ad8c72]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[852c89a24d64efc7]::result::Result<(), rustc_span[b9a3f8dff5ad8c72]::ErrorGuaranteed>>::{closure#1} as core[852c89a24d64efc7]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  34:     0x70ec88287ca9 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7f4be48b61584a0
                               at /rustc/d5db7fb537c0352eec3855aa0331c271c48ac4f6/library/alloc/src/boxed.rs:2018:9
  35:     0x70ec88287ca9 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h98f2eb6153ee7231
                               at /rustc/d5db7fb537c0352eec3855aa0331c271c48ac4f6/library/alloc/src/boxed.rs:2018:9
  36:     0x70ec88287ca9 - std::sys::pal::unix::thread::Thread::new::thread_start::h5b05a8117b189654
                               at /rustc/d5db7fb537c0352eec3855aa0331c271c48ac4f6/library/std/src/sys/pal/unix/thread.rs:108:17
  37:     0x70ec81aa955a - <unknown>
  38:     0x70ec81b26a3c - <unknown>
  39:                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: rustc 1.79.0-nightly (d5db7fb53 2024-03-27) running on x86_64-unknown-linux-gnu

query stack during panic:
#0 [mir_borrowck] borrow-checking `main`
#1 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to 5 previous errors

Some errors have detailed explanations: E0046, E0207, E0392, E0425.
For more information about an error, try `rustc --explain E0046`.

@matthiaskrgr matthiaskrgr added I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. C-bug Category: This is a bug. labels Mar 27, 2024
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Mar 27, 2024
@matthiaskrgr
Copy link
Member Author

#121154

@compiler-errors
Copy link
Member

This could be minimized further

@rustbot label: E-needs-mcve

@rustbot rustbot added the E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example label Mar 28, 2024
@jieyouxu jieyouxu removed the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Mar 28, 2024
@Qwanve
Copy link

Qwanve commented Apr 5, 2024

Minimized a bit more

struct Foo<const N: usize>;

trait Bar {
    type Item;
    fn c() -> Self::Item;
}

impl<const N: usize> Bar for Foo<{ rem }> {
    type Item = Foo<N>;
}

fn main() {
    let _: Foo<0> = <Foo<0> as Bar>::c();
}

@jieyouxu jieyouxu added S-has-mcve Status: A Minimal Complete and Verifiable Example has been found for this issue and removed E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example labels Apr 9, 2024
@matthiaskrgr matthiaskrgr added the S-bug-has-test Status: This bug is tracked inside the repo by a `known-bug` test. label Apr 15, 2024
@BoxyUwU
Copy link
Member

BoxyUwU commented May 29, 2024

the same cause as #122638

@BoxyUwU
Copy link
Member

BoxyUwU commented May 29, 2024

Here is a reproduction using type parameters instead of const parameters and with a minimal amount of unrelated errors and no feature gates:

trait Trait {
    fn next(self) -> Self::Item;
    type Item;
}

struct Foo<T: ?Sized>(T);

impl<T: ?Sized, U> Trait for Foo<U> {
    type Item = Foo<T>;
    fn next(self) -> Self::Item {
        loop {}
    }
}

fn opaque() -> impl Trait {
    Foo::<_>(10_u32)
}

fn main() {
    opaque().next();
}

In order for this to reproduce the unconstrained generic parameter must not have any bounds involving it that would not succeed if it were an inference variable. For example without the T: ?Sized we wind up with an implicit T: Sized bound which stops the ICE from occuring.

The root cause here is that we attempt to normalize using the impl with an unconstrained generic parameter. This results in normalizing a trait ref such as <impl Trait as Trait>::Item to Foo<?0t>. This causes us to have inference variables in parts of the compiler that should not have to deal with inference vars (i.e. in the mir, or try_normalize_erasing_regions)

Program output


error[E0207]: the type parameter `T` is not constrained by the impl trait, self type, or predicates
 --> src/main.rs:8:6
  |
8 | impl<T: ?Sized, U> Trait for Foo<U> {
  |      ^ unconstrained type parameter

error[E0282]: type annotations needed
  --> src/main.rs:10:22
   |
10 |     fn next(self) -> Self::Item {
   |                      ^^^^^^^^^^ cannot infer type for type parameter `T`

thread 'rustc' panicked at /media/Nyoomies/Repos/rust/compiler/rustc_type_ir/src/ty_kind.rs:854:17:
type variables should not be hashed: ?0t
stack backtrace:
   0:     0x7fcf342dc791 - trace
                               at /media/Nyoomies/Repos/rust/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
   1:     0x7fcf342dc791 - trace_unsynchronized<std::sys_common::backtrace::_print_fmt::{closure_env#1}>
                               at /media/Nyoomies/Repos/rust/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7fcf342dc791 - _print_fmt
                               at /media/Nyoomies/Repos/rust/library/std/src/sys_common/backtrace.rs:68:5
   3:     0x7fcf342dc791 - fmt
                               at /media/Nyoomies/Repos/rust/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7fcf343214cb - fmt
                               at /media/Nyoomies/Repos/rust/library/core/src/fmt/rt.rs:165:63
   5:     0x7fcf343214cb - write
                               at /media/Nyoomies/Repos/rust/library/core/src/fmt/mod.rs:1168:21
   6:     0x7fcf342ed65f - write_fmt<std::sys::pal::unix::stdio::Stderr>
                               at /media/Nyoomies/Repos/rust/library/std/src/io/mod.rs:1835:15
   7:     0x7fcf342dc5c2 - _print
                               at /media/Nyoomies/Repos/rust/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x7fcf342dc5c2 - print
                               at /media/Nyoomies/Repos/rust/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x7fcf342f7cda - {closure#1}
  10:     0x7fcf342f7a43 - default_hook
                               at /media/Nyoomies/Repos/rust/library/std/src/panicking.rs:298:9
  11:     0x7fcf34d83d2e - {closure#0}
                               at /media/Nyoomies/Repos/rust/compiler/rustc_driver_impl/src/lib.rs:1351:17
  12:     0x7fcf34d83d2e - call<(&(dyn core::ops::function::Fn<(&core::panic::panic_info::PanicInfo), Output=()> + core::marker::Send + core::marker::Sync), &core::panic::panic_info::PanicInfo), rustc_driver_impl::install_ice_hook::{closure_env#0}, alloc::alloc::Global>
                               at /media/Nyoomies/Repos/rust/library/alloc/src/boxed.rs:2077:9
  13:     0x7fcf342f81ff - call<(&core::panic::panic_info::PanicInfo), (dyn core::ops::function::Fn<(&core::panic::panic_info::PanicInfo), Output=()> + core::marker::Send + core::marker::Sync), alloc::alloc::Global>
                               at /media/Nyoomies/Repos/rust/library/alloc/src/boxed.rs:2077:9
  14:     0x7fcf342f81ff - rust_panic_with_hook
                               at /media/Nyoomies/Repos/rust/library/std/src/panicking.rs:799:13
  15:     0x7fcf342dd126 - {closure#0}
                               at /media/Nyoomies/Repos/rust/library/std/src/panicking.rs:664:13
  16:     0x7fcf342dcbd9 - std::sys_common::backtrace::__rust_end_short_backtrace::hf9eeea82cd818c60
                               at /media/Nyoomies/Repos/rust/library/std/src/sys_common/backtrace.rs:171:18
  17:     0x7fcf342f7e67 - begin_panic_handler
                               at /media/Nyoomies/Repos/rust/library/std/src/panicking.rs:652:5
  18:     0x7fcf3429e443 - panic_fmt
                               at /media/Nyoomies/Repos/rust/library/core/src/panicking.rs:72:14
  19:     0x7fcf3769b897 - hash_stable<rustc_query_system::ich::hcx::StableHashingContext>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_type_ir/src/ty_kind.rs:854:17
  20:     0x7fcf376286e6 - hash_stable<rustc_middle::ty::context::TyCtxt, rustc_query_system::ich::hcx::StableHashingContext>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_type_ir/src/ty_kind.rs:67:66
  21:     0x7fcf376286e6 - hash_stable<rustc_type_ir::ty_kind::TyKind<rustc_middle::ty::context::TyCtxt>, rustc_query_system::ich::hcx::StableHashingContext>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_type_ir/src/ty_info.rs:109:17
  22:     0x7fcf376bb0bd - hash_stable<rustc_middle::ty::generic_args::GenericArg, rustc_query_system::ich::hcx::StableHashingContext>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_data_structures/src/stable_hasher.rs:447:13
  23:     0x7fcf3760dd67 - {closure#0}<(), rustc_middle::ty::generic_args::GenericArg>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/impls_ty.rs:34:13
  24:     0x7fcf3760dd67 - try_with<core::cell::RefCell<std::collections::hash::map::HashMap<(*const (), rustc_data_structures::stable_hasher::HashingControls), rustc_data_structures::fingerprint::Fingerprint, core::hash::BuildHasherDefault<rustc_hash::FxHasher>>>, rustc_middle::ty::impls_ty::{impl#0}::hash_stable::{closure_env#0}<(), rustc_middle::ty::generic_args::GenericArg>, rustc_data_structures::fingerprint::Fingerprint>
                               at /media/Nyoomies/Repos/rust/library/std/src/thread/local.rs:286:12
  25:     0x7fcf3760dd67 - with<core::cell::RefCell<std::collections::hash::map::HashMap<(*const (), rustc_data_structures::stable_hasher::HashingControls), rustc_data_structures::fingerprint::Fingerprint, core::hash::BuildHasherDefault<rustc_hash::FxHasher>>>, rustc_middle::ty::impls_ty::{impl#0}::hash_stable::{closure_env#0}<(), rustc_middle::ty::generic_args::GenericArg>, rustc_data_structures::fingerprint::Fingerprint>
                               at /media/Nyoomies/Repos/rust/library/std/src/thread/local.rs:262:9
  26:     0x7fcf3760dd67 - hash_stable<(), rustc_middle::ty::generic_args::GenericArg>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/impls_ty.rs:27:26
  27:     0x7fcf3762865d - hash_stable<rustc_middle::ty::context::TyCtxt, rustc_query_system::ich::hcx::StableHashingContext>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_type_ir/src/ty_kind.rs:67:66
  28:     0x7fcf3762865d - hash_stable<rustc_type_ir::ty_kind::TyKind<rustc_middle::ty::context::TyCtxt>, rustc_query_system::ich::hcx::StableHashingContext>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_type_ir/src/ty_info.rs:109:17
  29:     0x7fcf3647d688 - hash_stable<rustc_middle::ty::generic_args::GenericArg, rustc_type_ir::solve::NoSolution, rustc_query_system::ich::hcx::StableHashingContext>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_data_structures/src/stable_hasher.rs:607:26
  30:     0x7fcf3647d688 - hash_result<core::result::Result<rustc_middle::ty::generic_args::GenericArg, rustc_type_ir::solve::NoSolution>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/dep_graph/graph.rs:117:5
  31:     0x7fcf363893e8 - {closure#7}
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_impl/src/plumbing.rs:269:28
  32:     0x7fcf363893e8 - call_once<rustc_query_impl::query_impl::try_normalize_generic_arg_after_erasing_regions::dynamic_query::{closure_env#7}, (&mut rustc_query_system::ich::hcx::StableHashingContext, &rustc_middle::query::erase::Erased<[u8; 8]>)>
                               at /media/Nyoomies/Repos/rust/library/core/src/ops/function.rs:250:5
  33:     0x7fcf365523fc - {closure#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>), rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/dep_graph/graph.rs:378:75
  34:     0x7fcf365523fc - with_stable_hashing_context<rustc_data_structures::fingerprint::Fingerprint, rustc_query_system::dep_graph::graph::{impl#4}::with_task::{closure#1}::{closure_env#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>), rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context.rs:1460:9
  35:     0x7fcf365523fc - with_stable_hashing_context<rustc_data_structures::fingerprint::Fingerprint, rustc_query_system::dep_graph::graph::{impl#4}::with_task::{closure#1}::{closure_env#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>), rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/dep_graph/mod.rs:58:9
  36:     0x7fcf365523fc - {closure#1}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>), rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/dep_graph/graph.rs:378:33
  37:     0x7fcf365523fc - map<fn(&mut rustc_query_system::ich::hcx::StableHashingContext, &rustc_middle::query::erase::Erased<[u8; 8]>) -> rustc_data_structures::fingerprint::Fingerprint, rustc_data_structures::fingerprint::Fingerprint, rustc_query_system::dep_graph::graph::{impl#4}::with_task::{closure_env#1}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>), rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>>
                               at /media/Nyoomies/Repos/rust/library/core/src/option.rs:1075:29
  38:     0x7fcf365523fc - with_task<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>), rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/dep_graph/graph.rs:378:25
  39:     0x7fcf365523fc - {closure#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:529:13
  40:     0x7fcf365523fc - {closure#0}<rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:82:9
  41:     0x7fcf365523fc - try_with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/library/std/src/thread/local.rs:286:12
  42:     0x7fcf365523fc - with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/library/std/src/thread/local.rs:262:9
  43:     0x7fcf365523fc - enter_context<rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:79:9
  44:     0x7fcf365523fc - {closure#0}<(rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_impl/src/plumbing.rs:149:13
  45:     0x7fcf365523fc - {closure#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<(rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:134:9
  46:     0x7fcf365523fc - {closure#0}<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<(rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:112:36
  47:     0x7fcf365523fc - with_context_opt<rustc_middle::ty::context::tls::with_context::{closure_env#0}<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<(rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:101:18
  48:     0x7fcf365523fc - with_context<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<(rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:112:5
  49:     0x7fcf365523fc - with_related_context<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<(rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:125:5
  50:     0x7fcf365523fc - start_query<(rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_impl/src/plumbing.rs:134:9
  51:     0x7fcf365523fc - execute_job_incr<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:518:9
  52:     0x7fcf365523fc - execute_job<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:397:9
  53:     0x7fcf365523fc - try_execute_query<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:349:13
  54:     0x7fcf364cc842 - {closure#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:829:9
  55:     0x7fcf364cc842 - maybe_grow<(rustc_middle::query::erase::Erased<[u8; 8]>, core::option::Option<rustc_query_system::dep_graph::graph::DepNodeIndex>), rustc_query_system::query::plumbing::get_query_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>
                               at /home/boxy/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55:9
  56:     0x7fcf364cc842 - ensure_sufficient_stack<(rustc_middle::query::erase::Erased<[u8; 8]>, core::option::Option<rustc_query_system::dep_graph::graph::DepNodeIndex>), rustc_query_system::query::plumbing::get_query_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_data_structures/src/stack.rs:17:5
  57:     0x7fcf364cc842 - get_query_incr<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:828:36
  58:     0x7fcf364cc842 - __rust_end_short_backtrace
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_impl/src/plumbing.rs:576:21
  59:     0x7fcf375c6b32 - query_get_at<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::generic_args::GenericArg>, rustc_middle::query::erase::Erased<[u8; 8]>>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/query/plumbing.rs:145:17
  60:     0x7fcf375c7928 - try_normalize_generic_arg_after_erasing_regions
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/query/plumbing.rs:423:31
  61:     0x7fcf375c7928 - try_normalize_generic_arg_after_erasing_regions
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/query/plumbing.rs:414:35
  62:     0x7fcf375c7928 - try_normalize_generic_arg_after_erasing_regions
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/normalize_erasing_regions.rs:207:18
  63:     0x7fcf375ae9d8 - <rustc_middle[2a614366aebb0f80]::ty::normalize_erasing_regions::TryNormalizeAfterErasingRegionsFolder as rustc_type_ir[24db3fdcf33dd73f]::fold::FallibleTypeFolder<rustc_middle[2a614366aebb0f80]::ty::context::TyCtxt>>::try_fold_ty
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/normalize_erasing_regions.rs:219:15
  64:     0x7fcf35889b18 - <rustc_middle[2a614366aebb0f80]::ty::Ty as rustc_type_ir[24db3fdcf33dd73f]::fold::TypeFoldable<rustc_middle[2a614366aebb0f80]::ty::context::TyCtxt>>::try_fold_with::<rustc_middle[2a614366aebb0f80]::ty::normalize_erasing_regions::TryNormalizeAfterErasingRegionsFolder>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/structural_impls.rs:429:9
  65:     0x7fcf3580cff8 - try_normalize_erasing_regions<rustc_middle::ty::Ty>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/normalize_erasing_regions.rs:90:13
  66:     0x7fcf356d9056 - visit_ty
                               at /media/Nyoomies/Repos/rust/compiler/rustc_mir_transform/src/reveal_all.rs:68:24
  67:     0x7fcf356d9056 - super_body_preserves_cfg<rustc_mir_transform::reveal_all::RevealAllVisitor>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/mir/visit.rs:1031:9
  68:     0x7fcf356d9056 - visit_body_preserves_cfg<rustc_mir_transform::reveal_all::RevealAllVisitor>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/mir/visit.rs:995:13
  69:     0x7fcf356d9056 - run_pass
                               at /media/Nyoomies/Repos/rust/compiler/rustc_mir_transform/src/reveal_all.rs:13:45
  70:     0x7fcf356a4e7a - run_passes_inner
                               at /media/Nyoomies/Repos/rust/compiler/rustc_mir_transform/src/pass_manager.rs:144:17
  71:     0x7fcf356a4624 - rustc_mir_transform[121ef76b762cdbe]::pass_manager::run_passes_no_validate
                               at /media/Nyoomies/Repos/rust/compiler/rustc_mir_transform/src/pass_manager.rs:77:5
  72:     0x7fcf357dc349 - run_runtime_lowering_passes
                               at /media/Nyoomies/Repos/rust/compiler/rustc_mir_transform/src/lib.rs:529:5
  73:     0x7fcf357dc349 - run_analysis_to_runtime_passes
                               at /media/Nyoomies/Repos/rust/compiler/rustc_mir_transform/src/lib.rs:485:5
  74:     0x7fcf357dbb8a - mir_drops_elaborated_and_const_checked
                               at /media/Nyoomies/Repos/rust/compiler/rustc_mir_transform/src/lib.rs:454:5
  75:     0x7fcf362a5909 - {closure#0}
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_impl/src/plumbing.rs:281:9
  76:     0x7fcf362a5909 - __rust_begin_short_backtrace<rustc_query_impl::query_impl::mir_drops_elaborated_and_const_checked::dynamic_query::{closure#2}::{closure_env#0}, rustc_middle::query::erase::Erased<[u8; 8]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_impl/src/plumbing.rs:546:18
  77:     0x7fcf3634510c - {closure#2}
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_impl/src/plumbing.rs:618:25
  78:     0x7fcf3634510c - call_once<rustc_query_impl::query_impl::mir_drops_elaborated_and_const_checked::dynamic_query::{closure_env#2}, (rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>
                               at /media/Nyoomies/Repos/rust/library/core/src/ops/function.rs:250:5
  79:     0x7fcf3644b4b2 - {closure#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::LocalModDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>), rustc_span::def_id::LocalModDefId, rustc_middle::query::erase::Erased<[u8; 8]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/dep_graph/graph.rs:361:64
  80:     0x7fcf3644b4b2 - {closure#0}<rustc_query_system::dep_graph::graph::{impl#4}::with_task::{closure#0}::{closure_env#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::LocalModDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>), rustc_span::def_id::LocalModDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:82:9
  81:     0x7fcf3644b4b2 - try_with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_query_system::dep_graph::graph::{impl#4}::with_task::{closure#0}::{closure_env#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::LocalModDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>), rustc_span::def_id::LocalModDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>>
                               at /media/Nyoomies/Repos/rust/library/std/src/thread/local.rs:286:12
  82:     0x7fcf3644b4b2 - with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_query_system::dep_graph::graph::{impl#4}::with_task::{closure#0}::{closure_env#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::LocalModDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>), rustc_span::def_id::LocalModDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>>
                               at /media/Nyoomies/Repos/rust/library/std/src/thread/local.rs:262:9
  83:     0x7fcf3644b4b2 - enter_context<rustc_query_system::dep_graph::graph::{impl#4}::with_task::{closure#0}::{closure_env#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::LocalModDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>), rustc_span::def_id::LocalModDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:79:9
  84:     0x7fcf3644b4b2 - {closure#0}<rustc_query_system::dep_graph::graph::{impl#4}::with_task::{closure#0}::{closure_env#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::LocalModDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>), rustc_span::def_id::LocalModDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/dep_graph/mod.rs:34:13
  85:     0x7fcf3644b4b2 - {closure#0}<rustc_middle::dep_graph::{impl#0}::with_deps::{closure_env#0}<rustc_query_system::dep_graph::graph::{impl#4}::with_task::{closure#0}::{closure_env#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::LocalModDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>), rustc_span::def_id::LocalModDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:112:36
  86:     0x7fcf3644b4b2 - with_context_opt<rustc_middle::ty::context::tls::with_context::{closure_env#0}<rustc_middle::dep_graph::{impl#0}::with_deps::{closure_env#0}<rustc_query_system::dep_graph::graph::{impl#4}::with_task::{closure#0}::{closure_env#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::LocalModDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>), rustc_span::def_id::LocalModDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:101:18
  87:     0x7fcf3644b4b2 - with_context<rustc_middle::dep_graph::{impl#0}::with_deps::{closure_env#0}<rustc_query_system::dep_graph::graph::{impl#4}::with_task::{closure#0}::{closure_env#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::LocalModDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>), rustc_span::def_id::LocalModDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:112:5
  88:     0x7fcf3644b4b2 - with_deps<rustc_query_system::dep_graph::graph::{impl#4}::with_task::{closure#0}::{closure_env#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::LocalModDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>), rustc_span::def_id::LocalModDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/dep_graph/mod.rs:31:9
  89:     0x7fcf365ca144 - {closure#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>), rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/dep_graph/graph.rs:361:37
  90:     0x7fcf365ca144 - with_task<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>), rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/dep_graph/graph.rs:372:14
  91:     0x7fcf365ca144 - {closure#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:529:13
  92:     0x7fcf365ca144 - {closure#0}<rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:82:9
  93:     0x7fcf365ca144 - try_with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/library/std/src/thread/local.rs:286:12
  94:     0x7fcf365ca144 - with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/library/std/src/thread/local.rs:262:9
  95:     0x7fcf365ca144 - enter_context<rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:79:9
  96:     0x7fcf365ca144 - {closure#0}<(rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_impl/src/plumbing.rs:149:13
  97:     0x7fcf365ca144 - {closure#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<(rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:134:9
  98:     0x7fcf365ca144 - {closure#0}<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<(rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:112:36
  99:     0x7fcf365ca144 - with_context_opt<rustc_middle::ty::context::tls::with_context::{closure_env#0}<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<(rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:101:18
 100:     0x7fcf365ca144 - with_context<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<(rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:112:5
 101:     0x7fcf365ca144 - with_related_context<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<(rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:125:5
 102:     0x7fcf365ca144 - start_query<(rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_impl/src/plumbing.rs:134:9
 103:     0x7fcf365ca144 - execute_job_incr<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:518:9
 104:     0x7fcf365ca144 - execute_job<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:397:9
 105:     0x7fcf365ca144 - try_execute_query<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:349:13
 106:     0x7fcf36348fcc - {closure#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:829:9
 107:     0x7fcf36348fcc - maybe_grow<(rustc_middle::query::erase::Erased<[u8; 8]>, core::option::Option<rustc_query_system::dep_graph::graph::DepNodeIndex>), rustc_query_system::query::plumbing::get_query_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>
                               at /home/boxy/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55:9
 108:     0x7fcf36348fcc - ensure_sufficient_stack<(rustc_middle::query::erase::Erased<[u8; 8]>, core::option::Option<rustc_query_system::dep_graph::graph::DepNodeIndex>), rustc_query_system::query::plumbing::get_query_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_data_structures/src/stack.rs:17:5
 109:     0x7fcf36348fcc - get_query_incr<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:828:36
 110:     0x7fcf36348fcc - __rust_end_short_backtrace
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_impl/src/plumbing.rs:576:21
 111:     0x7fcf34fe5389 - query_ensure<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/query/plumbing.rs:161:9
 112:     0x7fcf34fe5389 - mir_drops_elaborated_and_const_checked<rustc_span::def_id::LocalDefId>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/query/plumbing.rs:196:9
 113:     0x7fcf34fe5389 - {closure#2}
                               at /media/Nyoomies/Repos/rust/compiler/rustc_interface/src/passes.rs:753:17
 114:     0x7fcf34fe5389 - run<(), rustc_interface::passes::run_required_analyses::{closure_env#2}>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_data_structures/src/profiling.rs:754:9
 115:     0x7fcf34fe5389 - time<(), rustc_interface::passes::run_required_analyses::{closure_env#2}>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_session/src/utils.rs:16:9
 116:     0x7fcf34fa0ec2 - run_required_analyses
                               at /media/Nyoomies/Repos/rust/compiler/rustc_interface/src/passes.rs:743:5
 117:     0x7fcf34fa0ec2 - analysis
                               at /media/Nyoomies/Repos/rust/compiler/rustc_interface/src/passes.rs:773:5
 118:     0x7fcf362a76a7 - {closure#0}
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_impl/src/plumbing.rs:281:9
 119:     0x7fcf362a76a7 - __rust_begin_short_backtrace<rustc_query_impl::query_impl::analysis::dynamic_query::{closure#2}::{closure_env#0}, rustc_middle::query::erase::Erased<[u8; 1]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_impl/src/plumbing.rs:546:18
 120:     0x7fcf36434399 - {closure#2}
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_impl/src/plumbing.rs:618:25
 121:     0x7fcf36434399 - call_once<rustc_query_impl::query_impl::analysis::dynamic_query::{closure_env#2}, (rustc_middle::ty::context::TyCtxt, ())>
                               at /media/Nyoomies/Repos/rust/library/core/src/ops/function.rs:250:5
 122:     0x7fcf3644a596 - {closure#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>), (), rustc_middle::query::erase::Erased<[u8; 1]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/dep_graph/graph.rs:361:64
 123:     0x7fcf3644a596 - {closure#0}<rustc_query_system::dep_graph::graph::{impl#4}::with_task::{closure#0}::{closure_env#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>), (), rustc_middle::query::erase::Erased<[u8; 1]>>, rustc_middle::query::erase::Erased<[u8; 1]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:82:9
 124:     0x7fcf3644a596 - try_with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_query_system::dep_graph::graph::{impl#4}::with_task::{closure#0}::{closure_env#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>), (), rustc_middle::query::erase::Erased<[u8; 1]>>, rustc_middle::query::erase::Erased<[u8; 1]>>, rustc_middle::query::erase::Erased<[u8; 1]>>
                               at /media/Nyoomies/Repos/rust/library/std/src/thread/local.rs:286:12
 125:     0x7fcf3644a596 - with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_query_system::dep_graph::graph::{impl#4}::with_task::{closure#0}::{closure_env#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>), (), rustc_middle::query::erase::Erased<[u8; 1]>>, rustc_middle::query::erase::Erased<[u8; 1]>>, rustc_middle::query::erase::Erased<[u8; 1]>>
                               at /media/Nyoomies/Repos/rust/library/std/src/thread/local.rs:262:9
 126:     0x7fcf3644a596 - enter_context<rustc_query_system::dep_graph::graph::{impl#4}::with_task::{closure#0}::{closure_env#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>), (), rustc_middle::query::erase::Erased<[u8; 1]>>, rustc_middle::query::erase::Erased<[u8; 1]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:79:9
 127:     0x7fcf3644a596 - {closure#0}<rustc_query_system::dep_graph::graph::{impl#4}::with_task::{closure#0}::{closure_env#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>), (), rustc_middle::query::erase::Erased<[u8; 1]>>, rustc_middle::query::erase::Erased<[u8; 1]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/dep_graph/mod.rs:34:13
 128:     0x7fcf3644a596 - {closure#0}<rustc_middle::dep_graph::{impl#0}::with_deps::{closure_env#0}<rustc_query_system::dep_graph::graph::{impl#4}::with_task::{closure#0}::{closure_env#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>), (), rustc_middle::query::erase::Erased<[u8; 1]>>, rustc_middle::query::erase::Erased<[u8; 1]>>, rustc_middle::query::erase::Erased<[u8; 1]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:112:36
 129:     0x7fcf3644a596 - with_context_opt<rustc_middle::ty::context::tls::with_context::{closure_env#0}<rustc_middle::dep_graph::{impl#0}::with_deps::{closure_env#0}<rustc_query_system::dep_graph::graph::{impl#4}::with_task::{closure#0}::{closure_env#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>), (), rustc_middle::query::erase::Erased<[u8; 1]>>, rustc_middle::query::erase::Erased<[u8; 1]>>, rustc_middle::query::erase::Erased<[u8; 1]>>, rustc_middle::query::erase::Erased<[u8; 1]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:101:18
 130:     0x7fcf3644a596 - with_context<rustc_middle::dep_graph::{impl#0}::with_deps::{closure_env#0}<rustc_query_system::dep_graph::graph::{impl#4}::with_task::{closure#0}::{closure_env#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>), (), rustc_middle::query::erase::Erased<[u8; 1]>>, rustc_middle::query::erase::Erased<[u8; 1]>>, rustc_middle::query::erase::Erased<[u8; 1]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:112:5
 131:     0x7fcf3644a596 - with_deps<rustc_query_system::dep_graph::graph::{impl#4}::with_task::{closure#0}::{closure_env#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>), (), rustc_middle::query::erase::Erased<[u8; 1]>>, rustc_middle::query::erase::Erased<[u8; 1]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/dep_graph/mod.rs:31:9
 132:     0x7fcf36547474 - {closure#0}<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>), (), rustc_middle::query::erase::Erased<[u8; 1]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/dep_graph/graph.rs:361:37
 133:     0x7fcf36547474 - with_task<rustc_middle::dep_graph::DepsType, (rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>), (), rustc_middle::query::erase::Erased<[u8; 1]>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/dep_graph/graph.rs:363:14
 134:     0x7fcf36547474 - {closure#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:529:13
 135:     0x7fcf36547474 - {closure#0}<rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, (rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:82:9
 136:     0x7fcf36547474 - try_with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, (rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>, (rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/library/std/src/thread/local.rs:286:12
 137:     0x7fcf36547474 - with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, (rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>, (rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/library/std/src/thread/local.rs:262:9
 138:     0x7fcf36547474 - enter_context<rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, (rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:79:9
 139:     0x7fcf36547474 - {closure#0}<(rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_impl/src/plumbing.rs:149:13
 140:     0x7fcf36547474 - {closure#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<(rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, (rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:134:9
 141:     0x7fcf36547474 - {closure#0}<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<(rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, (rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>, (rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:112:36
 142:     0x7fcf36547474 - with_context_opt<rustc_middle::ty::context::tls::with_context::{closure_env#0}<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<(rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, (rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>, (rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>, (rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:101:18
 143:     0x7fcf36547474 - with_context<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<(rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, (rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>, (rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:112:5
 144:     0x7fcf36547474 - with_related_context<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<(rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, (rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:125:5
 145:     0x7fcf36547474 - start_query<(rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job_incr::{closure_env#2}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_impl/src/plumbing.rs:134:9
 146:     0x7fcf36547474 - execute_job_incr<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:518:9
 147:     0x7fcf36547474 - execute_job<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:397:9
 148:     0x7fcf36547474 - try_execute_query<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:349:13
 149:     0x7fcf36452324 - {closure#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:829:9
 150:     0x7fcf36452324 - maybe_grow<(rustc_middle::query::erase::Erased<[u8; 1]>, core::option::Option<rustc_query_system::dep_graph::graph::DepNodeIndex>), rustc_query_system::query::plumbing::get_query_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>
                               at /home/boxy/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55:9
 151:     0x7fcf36452324 - ensure_sufficient_stack<(rustc_middle::query::erase::Erased<[u8; 1]>, core::option::Option<rustc_query_system::dep_graph::graph::DepNodeIndex>), rustc_query_system::query::plumbing::get_query_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_data_structures/src/stack.rs:17:5
 152:     0x7fcf36452324 - get_query_incr<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:828:36
 153:     0x7fcf36452324 - __rust_end_short_backtrace
                               at /media/Nyoomies/Repos/rust/compiler/rustc_query_impl/src/plumbing.rs:576:21
 154:     0x7fcf34d03ad4 - query_get_at<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/query/plumbing.rs:145:17
 155:     0x7fcf34d03ad4 - analysis
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/query/plumbing.rs:423:31
 156:     0x7fcf34d03ad4 - analysis
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/query/plumbing.rs:414:35
 157:     0x7fcf34d03ad4 - {closure#3}
                               at /media/Nyoomies/Repos/rust/compiler/rustc_driver_impl/src/lib.rs:439:52
 158:     0x7fcf34d03ad4 - {closure#1}<rustc_driver_impl::run_compiler::{closure#0}::{closure#1}::{closure_env#3}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context.rs:874:37
 159:     0x7fcf34d03ad4 - {closure#0}<rustc_middle::ty::context::{impl#17}::enter::{closure_env#1}<rustc_driver_impl::run_compiler::{closure#0}::{closure#1}::{closure_env#3}, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:82:9
 160:     0x7fcf34d03ad4 - try_with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_middle::ty::context::{impl#17}::enter::{closure_env#1}<rustc_driver_impl::run_compiler::{closure#0}::{closure#1}::{closure_env#3}, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
                               at /media/Nyoomies/Repos/rust/library/std/src/thread/local.rs:286:12
 161:     0x7fcf34d03ad4 - with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_middle::ty::context::{impl#17}::enter::{closure_env#1}<rustc_driver_impl::run_compiler::{closure#0}::{closure#1}::{closure_env#3}, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
                               at /media/Nyoomies/Repos/rust/library/std/src/thread/local.rs:262:9
 162:     0x7fcf34d03ad4 - enter_context<rustc_middle::ty::context::{impl#17}::enter::{closure_env#1}<rustc_driver_impl::run_compiler::{closure#0}::{closure#1}::{closure_env#3}, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context/tls.rs:79:9
 163:     0x7fcf34d03ad4 - enter<rustc_driver_impl::run_compiler::{closure#0}::{closure#1}::{closure_env#3}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_middle/src/ty/context.rs:874:9
 164:     0x7fcf34d3fc8c - {closure#1}
                               at /media/Nyoomies/Repos/rust/compiler/rustc_driver_impl/src/lib.rs:439:13
 165:     0x7fcf34d3fc8c - enter<rustc_driver_impl::run_compiler::{closure#0}::{closure_env#1}, core::result::Result<core::option::Option<rustc_interface::queries::Linker>, rustc_span::ErrorGuaranteed>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_interface/src/queries.rs:315:19
 166:     0x7fcf34d77d18 - {closure#0}
                               at /media/Nyoomies/Repos/rust/compiler/rustc_driver_impl/src/lib.rs:387:22
 167:     0x7fcf34d77d18 - {closure#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_interface/src/interface.rs:503:27
 168:     0x7fcf34d77d18 - {closure#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_interface/src/util.rs:154:13
 169:     0x7fcf34d77d18 - {closure#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_interface/src/util.rs:106:21
 170:     0x7fcf34d77d18 - set<rustc_span::SessionGlobals, rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure#0}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
                               at /home/boxy/.cargo/registry/src/index.crates.io-6f17d22bba15001f/scoped-tls-1.0.1/src/lib.rs:137:9
 171:     0x7fcf34d5ff15 - create_session_globals_then<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure#0}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_span/src/lib.rs:134:5
 172:     0x7fcf34d819b6 - {closure#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
                               at /media/Nyoomies/Repos/rust/compiler/rustc_interface/src/util.rs:105:17
 173:     0x7fcf34d819b6 - __rust_begin_short_backtrace<rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
                               at /media/Nyoomies/Repos/rust/library/std/src/sys_common/backtrace.rs:155:18
 174:     0x7fcf34d2f096 - {closure#0}<rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
                               at /media/Nyoomies/Repos/rust/library/std/src/thread/mod.rs:542:17
 175:     0x7fcf34d2f096 - call_once<core::result::Result<(), rustc_span::ErrorGuaranteed>, std::thread::{impl#0}::spawn_unchecked_::{closure#2}::{closure_env#0}<rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>>
                               at /media/Nyoomies/Repos/rust/library/core/src/panic/unwind_safe.rs:272:9
 176:     0x7fcf34d2f096 - do_call<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#2}::{closure_env#0}<rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
                               at /media/Nyoomies/Repos/rust/library/std/src/panicking.rs:559:40
 177:     0x7fcf34d2f096 - try<core::result::Result<(), rustc_span::ErrorGuaranteed>, core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#2}::{closure_env#0}<rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>>>
                               at /media/Nyoomies/Repos/rust/library/std/src/panicking.rs:523:19
 178:     0x7fcf34d2f096 - catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#2}::{closure_env#0}<rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
                               at /media/Nyoomies/Repos/rust/library/std/src/panic.rs:149:14
 179:     0x7fcf34d2f096 - {closure#2}<rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
                               at /media/Nyoomies/Repos/rust/library/std/src/thread/mod.rs:541:30
 180:     0x7fcf34d2f096 - call_once<std::thread::{impl#0}::spawn_unchecked_::{closure_env#2}<rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, ()>
                               at /media/Nyoomies/Repos/rust/library/core/src/ops/function.rs:250:5
 181:     0x7fcf342f29bd - call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>
                               at /media/Nyoomies/Repos/rust/library/alloc/src/boxed.rs:2063:9
 182:     0x7fcf342f29bd - call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global>
                               at /media/Nyoomies/Repos/rust/library/alloc/src/boxed.rs:2063:9
 183:     0x7fcf342abd0a - thread_start
                               at /media/Nyoomies/Repos/rust/library/std/src/sys/pal/unix/thread.rs:108:17
 184:     0x7fcf340a6ac3 - start_thread
                               at ./nptl/pthread_create.c:442:8
 185:     0x7fcf34138850 - __GI___clone3
                               at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
 186:                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 make sure that you have updated to the latest nightly

note: please attach the file at `/media/Nyoomies/Repos/playground_3/rustc-ice-2024-05-29T04_59_02-2804873.txt` to your bug report

note: compiler flags: --crate-type bin -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

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

query stack during panic:
#0 [try_normalize_generic_arg_after_erasing_regions] normalizing `<Foo<U> as Trait>::Item`
#1 [mir_drops_elaborated_and_const_checked] elaborating drops for `<impl at src/main.rs:8:1: 8:36>::next`
end of query stack

bors added a commit to rust-lang-ci/rust that referenced this issue Jan 3, 2025
…d, r=<try>

Project to `TyKind::Error` when there are unconstrained non-lifetime (ty/const) impl params

I think this is a bit less invasive of an approach compared to rust-lang#127973.

It splits the `enforce_impl_params_are_constrained` function into lifetime/non-lifetime, and queryfies the latter. We can then use the result of the latter query (`Result<(), ErrorGuaranteed>`) to intercept projection and constrain the projected type to `TyKind::Error`, which ensures that we leak no ty or const vars to places that don't expect them, like `normalize_erasing_regions`.

The reason we split `enforce_impl_params_are_constrained` into two parts is because we only error for *lifetimes* if the lifetime ends up showing up in any of the associated types of the impl (e.g. we allow `impl<'a> Foo { type Assoc = (); }`). However, in order to compute the `type_of` query for the anonymous associated type of an RPITIT, we need to do trait solving (in `query collect_return_position_impl_trait_in_trait_tys`). That would induce cycles. Luckily, it turns out for lifetimes we don't even care about if they're unconstrained, since they're erased in all contexts that we are trying to fix ICEs. So it's sufficient to keep this check separated out of the query.

Fixes rust-lang#123141
Fixes rust-lang#125874
Fixes rust-lang#126942
Fixes rust-lang#127804
Fixes rust-lang#130967

r? oli-obk
bors added a commit to rust-lang-ci/rust that referenced this issue Jan 3, 2025
…d, r=<try>

Project to `TyKind::Error` when there are unconstrained non-lifetime (ty/const) impl params

It splits the `enforce_impl_params_are_constrained` function into lifetime/non-lifetime, and queryfies the latter. We can then use the result of the latter query (`Result<(), ErrorGuaranteed>`) to intercept projection and constrain the projected type to `TyKind::Error`, which ensures that we leak no ty or const vars to places that don't expect them, like `normalize_erasing_regions`.

The reason we split `enforce_impl_params_are_constrained` into two parts is because we only error for *lifetimes* if the lifetime ends up showing up in any of the associated types of the impl (e.g. we allow `impl<'a> Foo { type Assoc = (); }`). However, in order to compute the `type_of` query for the anonymous associated type of an RPITIT, we need to do trait solving (in `query collect_return_position_impl_trait_in_trait_tys`). That would induce cycles. Luckily, it turns out for lifetimes we don't even care about if they're unconstrained, since they're erased in all contexts that we are trying to fix ICEs. So it's sufficient to keep this check separated out of the query.

I think this is a bit less invasive of an approach compared to rust-lang#127973. The major difference between this PR and that PR is that we queryify the check instead of merging it into the `explicit_predicates_of` query, and we use the result to taint just projection goals, rather than trait goals too. This doesn't require a lot of new tracking in `ItemCtxt` and `GenericPredicates`, and it also seems to not require any other changes to typeck like that PR did.

Fixes rust-lang#123141
Fixes rust-lang#125874
Fixes rust-lang#126942
Fixes rust-lang#127804
Fixes rust-lang#130967

r? oli-obk
bors added a commit to rust-lang-ci/rust that referenced this issue Jan 3, 2025
…d, r=oli-obk

Project to `TyKind::Error` when there are unconstrained non-lifetime (ty/const) impl params

It splits the `enforce_impl_params_are_constrained` function into lifetime/non-lifetime, and queryfies the latter. We can then use the result of the latter query (`Result<(), ErrorGuaranteed>`) to intercept projection and constrain the projected type to `TyKind::Error`, which ensures that we leak no ty or const vars to places that don't expect them, like `normalize_erasing_regions`.

The reason we split `enforce_impl_params_are_constrained` into two parts is because we only error for *lifetimes* if the lifetime ends up showing up in any of the associated types of the impl (e.g. we allow `impl<'a> Foo { type Assoc = (); }`). However, in order to compute the `type_of` query for the anonymous associated type of an RPITIT, we need to do trait solving (in `query collect_return_position_impl_trait_in_trait_tys`). That would induce cycles. Luckily, it turns out for lifetimes we don't even care about if they're unconstrained, since they're erased in all contexts that we are trying to fix ICEs. So it's sufficient to keep this check separated out of the query.

I think this is a bit less invasive of an approach compared to rust-lang#127973. The major difference between this PR and that PR is that we queryify the check instead of merging it into the `explicit_predicates_of` query, and we use the result to taint just projection goals, rather than trait goals too. This doesn't require a lot of new tracking in `ItemCtxt` and `GenericPredicates`, and it also seems to not require any other changes to typeck like that PR did.

Fixes rust-lang#123141
Fixes rust-lang#125874
Fixes rust-lang#126942
Fixes rust-lang#127804
Fixes rust-lang#130967

r? oli-obk
@bors bors closed this as completed in 7349f6b Jan 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ S-bug-has-test Status: This bug is tracked inside the repo by a `known-bug` test. S-has-mcve Status: A Minimal Complete and Verifiable Example has been found for this issue T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
6 participants