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

thread 'rustc' panicked at 'called Option::unwrap() on a None value', /rustc/<snip>/compiler/rustc_hir/src/definitions.rs:452:14 #91696

Closed
TonalidadeHidrica opened this issue Dec 9, 2021 · 24 comments
Assignees
Labels
A-incr-comp Area: Incremental compilation C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@TonalidadeHidrica
Copy link
Contributor

Code

The error happens when compiling this project. However, if I cloned this commit to another location (without copying target), it runs successfully. So I doubt that this is an issue of cache-ish stuff. I'm leaving the worktree as-is, so instruct me any steps required for troubleshooting if necessary.

Meta

rustc --version --verbose:

rustc 1.57.0 (f1edd0429 2021-11-29)
binary: rustc
commit-hash: f1edd0429582dd29cccacaf50fd134b05593bd9c
commit-date: 2021-11-29
host: x86_64-apple-darwin
release: 1.57.0
LLVM version: 13.0.0

export | grep RUST:

RUSTC_WRAPPER /Users/username/.cargo/bin/sccache

Error output

$ cargo run --bin collect-songs-2

   Compiling taiko-wiki-data-analysis v0.1.0 (/Users/username/dev/git/com/github/TonalidadeHidrica/clippy-bug)
thread 'rustc' panicked at 'called `Option::unwrap()` on a `None` value', /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/compiler/rustc_hir/src/definitions.rs:452:14
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

error: internal compiler error: unexpected panic

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

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

note: rustc 1.57.0 (f1edd0429 2021-11-29) running on x86_64-apple-darwin

note: compiler flags: -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C incremental -C link-arg=-fuse-ld=/usr/local/bin/zld --crate-type lib

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

query stack during panic:
#0 [analysis] running analysis passes on this crate
end of query stack
error: could not compile `taiko-wiki-data-analysis`
Backtrace

   Compiling taiko-wiki-data-analysis v0.1.0 (/Users/username/dev/git/com/github/TonalidadeHidrica/clippy-bug)
thread 'rustc' panicked at 'called `Option::unwrap()` on a `None` value', /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/compiler/rustc_hir/src/definitions.rs:452:14
stack backtrace:
   0: _rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::panicking::panic
   3: <rustc_query_impl::on_disk_cache::OnDiskCache as rustc_middle::ty::context::OnDiskCache>::def_path_hash_to_def_id
   4: rustc_middle::dep_graph::dep_node::<impl rustc_query_system::dep_graph::dep_node::DepNodeParams<rustc_middle::ty::context::TyCtxt> for rustc_span::def_id::LocalDefId>::recover
   5: rustc_query_impl::query_callbacks::hir_owner::force_from_dep_node
   6: rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green
   7: rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green
   8: rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green
   9: rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green
  10: rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green
  11: rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green
  12: rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_green
  13: rustc_query_system::query::plumbing::ensure_must_run
  14: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::coherent_trait
  15: rustc_session::session::Session::track_errors
  16: rustc_typeck::check_crate
  17: rustc_interface::passes::analysis
  18: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task
  19: rustc_data_structures::stack::ensure_sufficient_stack
  20: rustc_query_system::query::plumbing::try_execute_query
  21: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::analysis
  22: rustc_interface::passes::QueryContext::enter
  23: rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter
  24: rustc_span::with_source_map
  25: scoped_tls::ScopedKey<T>::set
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

error: internal compiler error: unexpected panic

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

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

note: rustc 1.57.0 (f1edd0429 2021-11-29) running on x86_64-apple-darwin

note: compiler flags: -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C incremental -C link-arg=-fuse-ld=/usr/local/bin/zld --crate-type lib

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

query stack during panic:
#0 [analysis] running analysis passes on this crate
end of query stack
error: could not compile `taiko-wiki-data-analysis`

@TonalidadeHidrica TonalidadeHidrica added C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Dec 9, 2021
@TonalidadeHidrica
Copy link
Contributor Author

I initially submitted an issue at rust-lang/rust-clippy#8102 happening on similar project, but I found that this error also happens when cargo run-ning, not only cargo clippy-ing.

@TonalidadeHidrica
Copy link
Contributor Author

I doubt this is a duplicate of #89962. By the way, another type of ICE 'assertion failed: sentinel == STR_SENTINEL' (described in #91663) happens in the same project, but when compiling on nightly, not on stable. So I suspect these two issues relate to each other.

@kud1ing
Copy link

kud1ing commented Dec 9, 2021

I too get "thread 'rustc' panicked at 'called Option::unwrap() on a None value', /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/compiler/rustc_hir/src/definitions.rs:452:14" after I've renamed an enum.

@TonalidadeHidrica
Copy link
Contributor Author

@kud1ing Just curious, are you using sccache?

@kud1ing
Copy link

kud1ing commented Dec 9, 2021

@TonalidadeHidrica No, i am not.

After a cargo clean and a rebuild this panic doesn't occur anymore. I suspect the culprit is the incremental compilation cache (OnDiskCache).

@kud1ing
Copy link

kud1ing commented Dec 9, 2021

I've renamed another enum and hit it again right away:

thread 'rustc' panicked at 'called `Option::unwrap()` on a `None` value', /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/compiler/rustc_hir/src/definitions.rs:452:14
stack backtrace:
   0: _rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::panicking::panic
   3: <rustc_query_impl::on_disk_cache::OnDiskCache as rustc_middle::ty::context::OnDiskCache>::def_path_hash_to_def_id
   4: rustc_middle::dep_graph::dep_node::<impl rustc_query_system::dep_graph::dep_node::DepNodeParams<rustc_middle::ty::context::TyCtxt> for rustc_span::def_id::LocalDefId>::recover
   5: rustc_query_impl::query_callbacks::hir_owner::force_from_dep_node
   6: rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green
   7: rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green
   8: rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_green
   9: rustc_query_system::query::plumbing::ensure_must_run
  10: rustc_query_system::query::plumbing::get_query
  11: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::fn_sig
  12: <rustc_typeck::collect::CollectItemTypesVisitor as rustc_hir::intravisit::Visitor>::visit_impl_item
  13: rustc_middle::hir::map::Map::visit_item_likes_in_module
  14: rustc_typeck::collect::collect_mod_item_types
  15: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task
  16: rustc_data_structures::stack::ensure_sufficient_stack
  17: rustc_query_system::query::plumbing::try_execute_query
  18: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::collect_mod_item_types
  19: rustc_middle::hir::map::Map::for_each_module
  20: rustc_session::session::Session::track_errors
  21: rustc_typeck::check_crate
  22: rustc_interface::passes::analysis
  23: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task
  24: rustc_data_structures::stack::ensure_sufficient_stack
  25: rustc_query_system::query::plumbing::try_execute_query
  26: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::analysis
  27: rustc_interface::passes::QueryContext::enter
  28: rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter
  29: rustc_span::with_source_map
  30: scoped_tls::ScopedKey<T>::set
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

error: internal compiler error: unexpected panic

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

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

note: rustc 1.57.0 (f1edd0429 2021-11-29) running on x86_64-apple-darwin

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

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

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

@kud1ing
Copy link

kud1ing commented Dec 9, 2021

This might be a duplicate of #91487

@Stargateur
Copy link
Contributor

Stargateur commented Dec 10, 2021

same, and a cargo clean also fix it, close to impossible to produce a mcve cause it's not even a code problem. Was renaming two structs.

@cjgillot
Copy link
Contributor

I've renamed another enum and hit it again right away:

@kud1ing this is very interesting. We've been struggling to reproduce this kind of bug. If you have a case where just renaming an enum triggers the ICE, I'd be glad to investigate it!

@cjgillot cjgillot self-assigned this Dec 10, 2021
@cjgillot cjgillot added the A-incr-comp Area: Incremental compilation label Dec 10, 2021
@kud1ing
Copy link

kud1ing commented Dec 10, 2021

I've renamed another enum and hit it again right away:

@kud1ing this is very interesting. We've been struggling to reproduce this kind of bug. If you have a case where just renaming an enum triggers the ICE, I'd be glad to investigate it!

@cjgillot Thank you. Unfortunately it is not reliable. I couldn't reproduce it in a reduced project. In the real project i am using a workspace. Maybe that's a factor.

@cjgillot
Copy link
Contributor

It's still a step forward. Can you share a snapshot of your workspace before and after the incriminating edit? I'll do the reduction myself.

@kud1ing
Copy link

kud1ing commented Dec 10, 2021

One commonality is that i am on macOS too:

rustc 1.57.0 (f1edd0429 2021-11-29)
binary: rustc
commit-hash: f1edd0429582dd29cccacaf50fd134b05593bd9c
commit-date: 2021-11-29
host: x86_64-apple-darwin
release: 1.57.0
LLVM version: 13.0.0

@TonalidadeHidrica
Copy link
Contributor Author

@cjgillot @kud1ing FYI, I'm not using workspaces.

@cjgillot
Copy link
Contributor

@TonalidadeHidrica I believe this is the same bug. If you have a reproducer (= last version that compiled successfully, and the change that triggered the ICE), even if it's a huge one, I'll take it.

@TonalidadeHidrica
Copy link
Contributor Author

@cjgillot I have a pair of adjacent commits in which the older does not cause ICE but the newer does. I confirmed that every time I switch between two commits, the behavior is reproducible, as long as I use the same target directory. I have made two .tar.gz that includes every file in the directory, including target/, each of which of size ~512MB. If this will help, I would like you to send these archives via e-mail because I'm not sure if this project contains any sensitive data, so please instruct me where to send it.

@TonalidadeHidrica
Copy link
Contributor Author

TonalidadeHidrica commented Dec 10, 2021

@cjgillot Or alternatively, I may encrypt these files with your SSH key and share the link for the encrypted file. Choose whichever you want.

@cjgillot
Copy link
Contributor

@TonalidadeHidrica let's keep it simple: can you send it the email address on my github profile?

@lopsided98
Copy link
Contributor

lopsided98 commented Dec 12, 2021

I have a project that reliably reproduces this bug, available here: https://drive.google.com/file/d/1ytZpN6UGrPaxBpuNdOGk8RFxGGP_oets/view?usp=sharing. The following sequence of actions triggers the bug for me:

  1. Enter the firmware directory
  2. cargo clean
  3. In firmware/src/string/dac_driver.rs, rename WorkPacket::fill() to WorkPacket::run() (this is needed because I forgot to revert my changes from testing before I uploaded the project)
  4. cargo build
  5. Rename WorkPacket to FillableBuffer
  6. cargo build
  7. Rename FillableBuffer::run() to FillableBuffer::fill()
  8. cargo build
  9. Rename FillableBuffer back to WorkPacket
  10. cargo build, which should ICE

Here is the error message with my environment information:

thread 'rustc' panicked at 'called `Option::unwrap()` on a `None` value', /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/compiler/rustc_hir/src/definitions.rs:452:14
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

error: internal compiler error: unexpected panic

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

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

note: rustc 1.57.0 (f1edd0429 2021-11-29) running on x86_64-unknown-linux-gnu

note: compiler flags: -C embed-bitcode=no -C debuginfo=2 -C incremental -C link-arg=-Tlink.x --crate-type bin

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

query stack during panic:
#0 [analysis] running analysis passes on this crate
end of query stack
warning: `magnet-zither` (bin "magnet-zither") generated 1 warning
error: could not compile `magnet-zither`; 1 warning emitted

@Aaron1011
Copy link
Member

@lopsided98: Thanks - I've been able to reproduce this crash locally, and I'm working on minimizing it.

@Aaron1011
Copy link
Member

Aaron1011 commented Dec 14, 2021

This appears to be caused by the way we handle decoding query values from the incremental cache. Decoding a ty::AdtDef calls tcx.adt_def with a decoded DefId. This causes us to start a new query execution in the middle of decoding the result of a different query:

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for ty::AdtDef {
fn decode(decoder: &mut D) -> Result<&'tcx Self, D::Error> {
let def_id = <DefId as Decodable<D>>::decode(decoder)?;
Ok(decoder.tcx().adt_def(def_id))
}
}

As a result, we can get a call stack like this:

  1. We start executing the query check_mod_liveness, and begin recording query dependencies.
  2. Inside the query, we make a call to the query tcx.typeck:
    let typeck_results = ir.tcx.typeck(body_owner);
  3. We determine that the query result is green and cached on disk, so we start decoding its result from the incremental cache. At this point, we are still inside the check_mod_liveness query.
  4. We try to decode an AdtDef, and call tcx.adt_def. This results in the check_mod_liveness query depending on the adt_def query, even though it would normally never have such an edge with an empty cache.

Normally, the design of the various queries enforces a certain order for the list of edges for a particular DepNode. For example, you need to call hir_owner to get the children of a module - then, you can lookup information using the HirIds of the children. If a child gets deleted or renamed, then the hir_owner node will be red, which will stop us from trying to mark the subsequent non-existent child DepNode as green. However, this weird 'decoding edge' bypasses that, injecting an HIR-related edge into some ancestor query's dependencies.

It might be possible to make invoking queries during decoding work properly, but I think the query system is already quite complicated without adding in this weird form of recursion. We should ban new query execution inside the internals of the query system (in particular, during decoding), and encode the full contents of an AdtDef into the cache.

Here's a stacktrace demonstrating the issue:

thread 'rustc' panicked at 'forbidden edge adt_def(fugit[fec6]::instant::Instant) -> check_mod_liveness(magnet_zither[5d66]::string) created', /home/aaron/repos/rust/compiler/rustc_query_system/src/dep_graph/graph.rs:398:41
stack backtrace:
   0: rust_begin_unwind
             at /home/aaron/repos/rust/library/std/src/panicking.rs:498:5
   1: core::panicking::panic_fmt
             at /home/aaron/repos/rust/library/core/src/panicking.rs:107:14
   2: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::read_index::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_query_system/src/dep_graph/graph.rs:398:41
   3: <rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::read_deps::<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::read_index::{closure#0}>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_middle/src/dep_graph/mod.rs:65:13
   4: rustc_middle::ty::context::tls::with_context_opt::<<rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::read_deps<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::read_index::{closure#0}>::{closure#0}, ()>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1767:22
   5: <rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::read_deps::<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::read_index::{closure#0}>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/dep_graph/mod.rs:63:9
   6: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::read_index
             at /home/aaron/repos/rust/compiler/rustc_query_system/src/dep_graph/graph.rs:361:13
   7: rustc_query_system::query::plumbing::try_get_cached::<rustc_middle::ty::context::TyCtxt, rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::DefId, &rustc_middle::ty::adt::AdtDef>, &rustc_middle::ty::adt::AdtDef, <&rustc_middle::ty::adt::AdtDef as core::clone::Clone>::clone>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:372:9
   8: <rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::DefId, &rustc_middle::ty::adt::AdtDef> as rustc_query_system::query::caches::QueryCache>::lookup::<&rustc_middle::ty::adt::AdtDef, rustc_query_system::query::plumbing::try_get_cached<rustc_middle::ty::context::TyCtxt, rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::DefId, &rustc_middle::ty::adt::AdtDef>, &rustc_middle::ty::adt::AdtDef, <&rustc_middle::ty::adt::AdtDef as core::clone::Clone>::clone>::{closure#0}>
             at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/caches.rs:106:30
   9: rustc_query_system::query::plumbing::try_get_cached::<rustc_middle::ty::context::TyCtxt, rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::DefId, &rustc_middle::ty::adt::AdtDef>, &rustc_middle::ty::adt::AdtDef, <&rustc_middle::ty::adt::AdtDef as core::clone::Clone>::clone>
             at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:368:5
  10: <rustc_middle::ty::query::TyCtxtAt>::adt_def::<rustc_span::def_id::DefId>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/query.rs:246:30
  11: <rustc_middle::ty::context::TyCtxt>::adt_def::<rustc_span::def_id::DefId>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/query.rs:234:17
  12: <rustc_middle::ty::adt::AdtDef as rustc_middle::ty::codec::RefDecodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/codec.rs:314:12
  13: <<rustc_middle::ty::adt::AdtDef as rustc_middle::ty::codec::RefDecodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode as core::ops::function::FnOnce<(&mut rustc_query_impl::on_disk_cache::CacheDecoder,)>>::call_once
             at /home/aaron/repos/rust/library/core/src/ops/function.rs:227:5
  14: <rustc_query_impl::on_disk_cache::CacheDecoder as rustc_serialize::serialize::Decoder>::read_enum_variant_arg::<&rustc_middle::ty::adt::AdtDef, <rustc_middle::ty::adt::AdtDef as rustc_middle::ty::codec::RefDecodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode>
             at /home/aaron/repos/rust/compiler/rustc_serialize/src/serialize.rs:223:9
  15: <rustc_middle::ty::sty::TyKind as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode::{closure#0}::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/sty.rs:81:68
  16: <rustc_query_impl::on_disk_cache::CacheDecoder as rustc_serialize::serialize::Decoder>::read_enum_variant::<rustc_middle::ty::sty::TyKind, <rustc_middle::ty::sty::TyKind as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode::{closure#0}::{closure#0}>
             at /home/aaron/repos/rust/compiler/rustc_serialize/src/serialize.rs:215:9
  17: <rustc_middle::ty::sty::TyKind as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/sty.rs:81:68
  18: <rustc_query_impl::on_disk_cache::CacheDecoder as rustc_serialize::serialize::Decoder>::read_enum::<rustc_middle::ty::sty::TyKind, <rustc_middle::ty::sty::TyKind as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode::{closure#0}>
             at /home/aaron/repos/rust/compiler/rustc_serialize/src/serialize.rs:206:9
  19: <rustc_middle::ty::sty::TyKind as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/sty.rs:81:68
  20: <&rustc_middle::ty::TyS as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/codec.rs:224:26
  21: <<&rustc_middle::ty::TyS as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode as core::ops::function::FnOnce<(&mut rustc_query_impl::on_disk_cache::CacheDecoder,)>>::call_once
             at /home/aaron/repos/rust/library/core/src/ops/function.rs:227:5
  22: <rustc_query_impl::on_disk_cache::CacheDecoder as rustc_middle::ty::codec::TyDecoder>::with_position::<<&rustc_middle::ty::TyS as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode, core::result::Result<&rustc_middle::ty::TyS, alloc::string::String>>
             at /home/aaron/repos/rust/compiler/rustc_query_impl/src/on_disk_cache.rs:591:17
  23: <&rustc_middle::ty::TyS as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/codec.rs:220:17
  24: <rustc_query_impl::on_disk_cache::CacheDecoder as rustc_middle::ty::codec::TyDecoder>::cached_ty_for_shorthand::<<&rustc_middle::ty::TyS as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode::{closure#0}>
             at /home/aaron/repos/rust/compiler/rustc_query_impl/src/on_disk_cache.rs:577:18
  25: <&rustc_middle::ty::TyS as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/codec.rs:219:13
  26: <std::collections::hash::map::HashMap<rustc_hir::hir_id::ItemLocalId, &rustc_middle::ty::TyS, core::hash::BuildHasherDefault<rustc_hash::FxHasher>> as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode::{closure#0}::{closure#1}
             at /home/aaron/repos/rust/compiler/rustc_serialize/src/collection_impls.rs:170:50
  27: <rustc_query_impl::on_disk_cache::CacheDecoder as rustc_serialize::serialize::Decoder>::read_map_elt_val::<&rustc_middle::ty::TyS, <std::collections::hash::map::HashMap<rustc_hir::hir_id::ItemLocalId, &rustc_middle::ty::TyS, core::hash::BuildHasherDefault<rustc_hash::FxHasher>> as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode::{closure#0}::{closure#1}>
             at /home/aaron/repos/rust/compiler/rustc_serialize/src/serialize.rs:309:9
  28: <std::collections::hash::map::HashMap<rustc_hir::hir_id::ItemLocalId, &rustc_middle::ty::TyS, core::hash::BuildHasherDefault<rustc_hash::FxHasher>> as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_serialize/src/collection_impls.rs:170:27
  29: <rustc_query_impl::on_disk_cache::CacheDecoder as rustc_serialize::serialize::Decoder>::read_map::<std::collections::hash::map::HashMap<rustc_hir::hir_id::ItemLocalId, &rustc_middle::ty::TyS, core::hash::BuildHasherDefault<rustc_hash::FxHasher>>, <std::collections::hash::map::HashMap<rustc_hir::hir_id::ItemLocalId, &rustc_middle::ty::TyS, core::hash::BuildHasherDefault<rustc_hash::FxHasher>> as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode::{closure#0}>
             at /home/aaron/repos/rust/compiler/rustc_serialize/src/serialize.rs:293:9
  30: <std::collections::hash::map::HashMap<rustc_hir::hir_id::ItemLocalId, &rustc_middle::ty::TyS, core::hash::BuildHasherDefault<rustc_hash::FxHasher>> as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode
             at /home/aaron/repos/rust/compiler/rustc_serialize/src/collection_impls.rs:165:9
  31: <<std::collections::hash::map::HashMap<rustc_hir::hir_id::ItemLocalId, &rustc_middle::ty::TyS, core::hash::BuildHasherDefault<rustc_hash::FxHasher>> as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode as core::ops::function::FnOnce<(&mut rustc_query_impl::on_disk_cache::CacheDecoder,)>>::call_once
             at /home/aaron/repos/rust/library/core/src/ops/function.rs:227:5
  32: <rustc_query_impl::on_disk_cache::CacheDecoder as rustc_serialize::serialize::Decoder>::read_struct_field::<std::collections::hash::map::HashMap<rustc_hir::hir_id::ItemLocalId, &rustc_middle::ty::TyS, core::hash::BuildHasherDefault<rustc_hash::FxHasher>>, <std::collections::hash::map::HashMap<rustc_hir::hir_id::ItemLocalId, &rustc_middle::ty::TyS, core::hash::BuildHasherDefault<rustc_hash::FxHasher>> as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode>
             at /home/aaron/repos/rust/compiler/rustc_serialize/src/serialize.rs:239:9
  33: <rustc_middle::ty::context::TypeckResults as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:337:23
  34: <rustc_query_impl::on_disk_cache::CacheDecoder as rustc_serialize::serialize::Decoder>::read_struct::<rustc_middle::ty::context::TypeckResults, <rustc_middle::ty::context::TypeckResults as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode::{closure#0}>
             at /home/aaron/repos/rust/compiler/rustc_serialize/src/serialize.rs:231:9
  35: <rustc_middle::ty::context::TypeckResults as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:337:23
  36: rustc_middle::ty::codec::decode_arena_allocable::<rustc_query_impl::on_disk_cache::CacheDecoder, rustc_middle::ty::context::TypeckResults>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/codec.rs:197:34
  37: <rustc_middle::ty::context::TypeckResults as rustc_middle::ty::codec::RefDecodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/codec.rs:424:17
  38: <&rustc_middle::ty::context::TypeckResults as rustc_serialize::serialize::Decodable<rustc_query_impl::on_disk_cache::CacheDecoder>>::decode
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/codec.rs:305:17
  39: rustc_query_impl::on_disk_cache::decode_tagged::<rustc_query_impl::on_disk_cache::CacheDecoder, rustc_query_system::dep_graph::serialized::SerializedDepNodeIndex, &rustc_middle::ty::context::TypeckResults>
             at /home/aaron/repos/rust/compiler/rustc_query_impl/src/on_disk_cache.rs:534:17
  40: <rustc_query_impl::on_disk_cache::OnDiskCache>::load_indexed::<&rustc_middle::ty::context::TypeckResults>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_query_impl/src/on_disk_cache.rs:433:53
  41: <rustc_query_impl::on_disk_cache::OnDiskCache>::with_decoder::<core::option::Option<&rustc_middle::ty::context::TypeckResults>, <rustc_query_impl::on_disk_cache::OnDiskCache>::load_indexed<&rustc_middle::ty::context::TypeckResults>::{closure#0}>
             at /home/aaron/repos/rust/compiler/rustc_query_impl/src/on_disk_cache.rs:461:9
  42: <rustc_query_impl::on_disk_cache::OnDiskCache>::load_indexed::<&rustc_middle::ty::context::TypeckResults>
             at /home/aaron/repos/rust/compiler/rustc_query_impl/src/on_disk_cache.rs:433:9
  43: <rustc_query_impl::on_disk_cache::OnDiskCache>::try_load_query_result::<&rustc_middle::ty::context::TypeckResults>
             at /home/aaron/repos/rust/compiler/rustc_query_impl/src/on_disk_cache.rs:401:9
  44: <rustc_query_system::query::config::QueryVtable<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::ty::context::TypeckResults>>::try_load_from_disk
             at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/config.rs:47:9
  45: rustc_query_system::query::plumbing::try_load_from_disk_and_cache_in_memory::<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::ty::context::TypeckResults>
             at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:518:22
  46: <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query::<core::option::Option<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex)>, rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::ty::context::TypeckResults>::{closure#2}>::{closure#0}::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_query_impl/src/plumbing.rs:103:17
  47: rustc_middle::ty::context::tls::enter_context::<<rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query<core::option::Option<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex)>, rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::ty::context::TypeckResults>::{closure#2}>::{closure#0}::{closure#0}, core::option::Option<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex)>>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1750:50
  48: rustc_middle::ty::context::tls::set_tlv::<rustc_middle::ty::context::tls::enter_context<<rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query<core::option::Option<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex)>, rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::ty::context::TypeckResults>::{closure#2}>::{closure#0}::{closure#0}, core::option::Option<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex)>>::{closure#0}, core::option::Option<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex)>>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1734:9
  49: rustc_middle::ty::context::tls::enter_context::<<rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query<core::option::Option<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex)>, rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::ty::context::TypeckResults>::{closure#2}>::{closure#0}::{closure#0}, core::option::Option<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex)>>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1750:9
  50: <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query::<core::option::Option<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex)>, rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::ty::context::TypeckResults>::{closure#2}>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_query_impl/src/plumbing.rs:102:13
  51: rustc_middle::ty::context::tls::with_related_context::<<rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query<core::option::Option<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex)>, rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::ty::context::TypeckResults>::{closure#2}>::{closure#0}, core::option::Option<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex)>>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1794:13
  52: rustc_middle::ty::context::tls::with_context::<rustc_middle::ty::context::tls::with_related_context<<rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query<core::option::Option<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex)>, rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::ty::context::TypeckResults>::{closure#2}>::{closure#0}, core::option::Option<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex)>>::{closure#0}, core::option::Option<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex)>>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1778:40
  53: rustc_middle::ty::context::tls::with_context_opt::<rustc_middle::ty::context::tls::with_context<rustc_middle::ty::context::tls::with_related_context<<rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query<core::option::Option<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex)>, rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::ty::context::TypeckResults>::{closure#2}>::{closure#0}, core::option::Option<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex)>>::{closure#0}, core::option::Option<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex)>>::{closure#0}, core::option::Option<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex)>>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1767:22
  54: rustc_middle::ty::context::tls::with_context::<rustc_middle::ty::context::tls::with_related_context<<rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query<core::option::Option<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex)>, rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::ty::context::TypeckResults>::{closure#2}>::{closure#0}, core::option::Option<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex)>>::{closure#0}, core::option::Option<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex)>>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1778:9
  55: rustc_middle::ty::context::tls::with_related_context::<<rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query<core::option::Option<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex)>, rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::ty::context::TypeckResults>::{closure#2}>::{closure#0}, core::option::Option<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex)>>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1791:9
  56: <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query::<core::option::Option<(&rustc_middle::ty::context::TypeckResults, rustc_query_system::dep_graph::graph::DepNodeIndex)>, rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::ty::context::TypeckResults>::{closure#2}>
             at /home/aaron/repos/rust/compiler/rustc_query_impl/src/plumbing.rs:91:9
  57: rustc_query_system::query::plumbing::execute_job::<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::ty::context::TypeckResults>
             at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:456:28
  58: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::plumbing::QueryCtxt, rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::LocalDefId, &rustc_middle::ty::context::TypeckResults>>
             at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:401:44
  59: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::typeck, rustc_query_impl::plumbing::QueryCtxt>
             at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:756:36
  60: <rustc_middle::ty::query::TyCtxtAt>::typeck
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/query.rs:253:17
  61: <rustc_middle::ty::context::TyCtxt>::typeck
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/query.rs:234:17
  62: <rustc_passes::liveness::Liveness>::new
             at /home/aaron/repos/rust/compiler/rustc_passes/src/liveness.rs:520:30
  63: <rustc_passes::liveness::IrMaps as rustc_hir::intravisit::Visitor>::visit_body
             at /home/aaron/repos/rust/compiler/rustc_passes/src/liveness.rs:361:25
  64: <rustc_passes::liveness::IrMaps as rustc_hir::intravisit::Visitor>::visit_nested_body
             at /home/aaron/repos/rust/compiler/rustc_hir/src/intravisit.rs:327:9
  65: <rustc_passes::liveness::IrMaps as rustc_hir::intravisit::Visitor>::visit_impl_item
             at /home/aaron/repos/rust/compiler/rustc_hir/src/intravisit.rs:423:9
  66: <rustc_hir::intravisit::DeepVisitor<rustc_passes::liveness::IrMaps> as rustc_hir::itemlikevisit::ItemLikeVisitor>::visit_impl_item
             at /home/aaron/repos/rust/compiler/rustc_hir/src/intravisit.rs:64:9
  67: <rustc_middle::hir::map::Map>::visit_item_likes_in_module::<rustc_hir::intravisit::DeepVisitor<rustc_passes::liveness::IrMaps>>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/hir/map/mod.rs:648:13
  68: rustc_passes::liveness::check_mod_liveness
             at /home/aaron/repos/rust/compiler/rustc_passes/src/liveness.rs:144:5
  69: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl::<rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_query_system/src/dep_graph/graph.rs:256:58
  70: <rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps::<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#0}, ()>::{closure#0}::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_middle/src/dep_graph/mod.rs:55:46
  71: rustc_middle::ty::context::tls::enter_context::<<rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1750:50
  72: rustc_middle::ty::context::tls::set_tlv::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#0}, ()>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1734:9
  73: rustc_middle::ty::context::tls::enter_context::<<rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1750:9
  74: <rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps::<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#0}, ()>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_middle/src/dep_graph/mod.rs:55:13
  75: rustc_middle::ty::context::tls::with_context::<<rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#0}, ()>::{closure#0}, ()>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1778:40
  76: rustc_middle::ty::context::tls::with_context_opt::<rustc_middle::ty::context::tls::with_context<<rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#0}, ()>::{closure#0}, ()>::{closure#0}, ()>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1767:22
  77: rustc_middle::ty::context::tls::with_context::<<rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#0}, ()>::{closure#0}, ()>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1778:9
  78: <rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps::<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#0}, ()>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/dep_graph/mod.rs:52:9
  79: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl::<rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId, ()>
             at /home/aaron/repos/rust/compiler/rustc_query_system/src/dep_graph/graph.rs:256:22
  80: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId, ()>
             at /home/aaron/repos/rust/compiler/rustc_query_system/src/dep_graph/graph.rs:210:13
  81: rustc_query_system::query::plumbing::execute_job::<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#3}
             at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:476:9
  82: stacker::maybe_grow::<((), rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#3}>
             at /home/aaron/.cargo/registry/src/github.com-1ecc6299db9ec823/stacker-0.1.14/src/lib.rs:55:9
  83: rustc_data_structures::stack::ensure_sufficient_stack::<((), rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#3}>
             at /home/aaron/repos/rust/compiler/rustc_data_structures/src/stack.rs:16:5
  84: <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query::<((), rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#3}>::{closure#0}::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_query_impl/src/plumbing.rs:103:17
  85: rustc_middle::ty::context::tls::enter_context::<<rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query<((), rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#3}>::{closure#0}::{closure#0}, ((), rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1750:50
  86: rustc_middle::ty::context::tls::set_tlv::<rustc_middle::ty::context::tls::enter_context<<rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query<((), rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#3}>::{closure#0}::{closure#0}, ((), rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}, ((), rustc_query_system::dep_graph::graph::DepNodeIndex)>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1734:9
  87: rustc_middle::ty::context::tls::enter_context::<<rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query<((), rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#3}>::{closure#0}::{closure#0}, ((), rustc_query_system::dep_graph::graph::DepNodeIndex)>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1750:9
  88: <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query::<((), rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#3}>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_query_impl/src/plumbing.rs:102:13
  89: rustc_middle::ty::context::tls::with_related_context::<<rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query<((), rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#3}>::{closure#0}, ((), rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1794:13
  90: rustc_middle::ty::context::tls::with_context::<rustc_middle::ty::context::tls::with_related_context<<rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query<((), rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#3}>::{closure#0}, ((), rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}, ((), rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1778:40
  91: rustc_middle::ty::context::tls::with_context_opt::<rustc_middle::ty::context::tls::with_context<rustc_middle::ty::context::tls::with_related_context<<rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query<((), rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#3}>::{closure#0}, ((), rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}, ((), rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}, ((), rustc_query_system::dep_graph::graph::DepNodeIndex)>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1767:22
  92: rustc_middle::ty::context::tls::with_context::<rustc_middle::ty::context::tls::with_related_context<<rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query<((), rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#3}>::{closure#0}, ((), rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}, ((), rustc_query_system::dep_graph::graph::DepNodeIndex)>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1778:9
  93: rustc_middle::ty::context::tls::with_related_context::<<rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query<((), rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#3}>::{closure#0}, ((), rustc_query_system::dep_graph::graph::DepNodeIndex)>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1791:9
  94: <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query::<((), rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, ()>::{closure#3}>
             at /home/aaron/repos/rust/compiler/rustc_query_impl/src/plumbing.rs:91:9
  95: rustc_query_system::query::plumbing::execute_job::<rustc_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, ()>
             at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:466:36
  96: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::plumbing::QueryCtxt, rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::LocalDefId, ()>>
             at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:401:44
  97: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::check_mod_liveness, rustc_query_impl::plumbing::QueryCtxt>
             at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:756:36
  98: <rustc_middle::ty::query::TyCtxtEnsure>::check_mod_liveness
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/query.rs:224:17
  99: rustc_interface::passes::analysis::{closure#1}::{closure#1}::{closure#0}::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_interface/src/passes.rs:942:25
 100: <rustc_middle::hir::map::Map>::for_each_module::<rustc_interface::passes::analysis::{closure#1}::{closure#1}::{closure#0}::{closure#0}>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/hir/map/mod.rs:661:13
 101: <rustc_middle::hir::map::Map>::par_for_each_module::<rustc_interface::passes::analysis::{closure#1}::{closure#1}::{closure#0}::{closure#0}>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/hir/map/mod.rs:670:9
 102: rustc_interface::passes::analysis::{closure#1}::{closure#1}::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_interface/src/passes.rs:937:21
 103: <rustc_data_structures::profiling::VerboseTimingGuard>::run::<(), rustc_interface::passes::analysis::{closure#1}::{closure#1}::{closure#0}>
             at /home/aaron/repos/rust/compiler/rustc_data_structures/src/profiling.rs:644:9
 104: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#1}::{closure#1}::{closure#0}>
             at /home/aaron/repos/rust/compiler/rustc_session/src/utils.rs:16:9
 105: rustc_interface::passes::analysis::{closure#1}::{closure#1}
             at /home/aaron/repos/rust/compiler/rustc_interface/src/passes.rs:936:17
 106: <rustc_interface::passes::analysis::{closure#1}::{closure#1} as core::ops::function::FnOnce<()>>::call_once
             at /home/aaron/repos/rust/library/core/src/ops/function.rs:227:5
 107: <core::panic::unwind_safe::AssertUnwindSafe<rustc_interface::passes::analysis::{closure#1}::{closure#1}> as core::ops::function::FnOnce<()>>::call_once
             at /home/aaron/repos/rust/library/core/src/panic/unwind_safe.rs:271:9
 108: std::panicking::try::do_call::<core::panic::unwind_safe::AssertUnwindSafe<rustc_interface::passes::analysis::{closure#1}::{closure#1}>, ()>
             at /home/aaron/repos/rust/library/std/src/panicking.rs:406:40
 109: std::panicking::try::<(), core::panic::unwind_safe::AssertUnwindSafe<rustc_interface::passes::analysis::{closure#1}::{closure#1}>>
             at /home/aaron/repos/rust/library/std/src/panicking.rs:370:19
 110: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<rustc_interface::passes::analysis::{closure#1}::{closure#1}>, ()>
             at /home/aaron/repos/rust/library/std/src/panic.rs:133:14
 111: rustc_interface::passes::analysis::{closure#1}
             at /home/aaron/repos/rust/compiler/rustc_interface/src/passes.rs:929:9
 112: <rustc_data_structures::profiling::VerboseTimingGuard>::run::<(), rustc_interface::passes::analysis::{closure#1}>
             at /home/aaron/repos/rust/compiler/rustc_data_structures/src/profiling.rs:644:9
 113: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#1}>
             at /home/aaron/repos/rust/compiler/rustc_session/src/utils.rs:16:9
 114: rustc_interface::passes::analysis
             at /home/aaron/repos/rust/compiler/rustc_interface/src/passes.rs:928:5
 115: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl::<rustc_middle::ty::context::TyCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_query_system/src/dep_graph/graph.rs:256:58
 116: <rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps::<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_middle/src/dep_graph/mod.rs:55:46
 117: rustc_middle::ty::context::tls::enter_context::<<rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1750:50
 118: rustc_middle::ty::context::tls::set_tlv::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1734:9
 119: rustc_middle::ty::context::tls::enter_context::<<rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1750:9
 120: <rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps::<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_middle/src/dep_graph/mod.rs:55:13
 121: rustc_middle::ty::context::tls::with_context::<<rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1778:40
 122: rustc_middle::ty::context::tls::with_context_opt::<rustc_middle::ty::context::tls::with_context<<rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1767:22
 123: rustc_middle::ty::context::tls::with_context::<<rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1778:9
 124: <rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps::<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/dep_graph/mod.rs:52:9
 125: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl::<rustc_middle::ty::context::TyCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>
             at /home/aaron/repos/rust/compiler/rustc_query_system/src/dep_graph/graph.rs:256:22
 126: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>
             at /home/aaron/repos/rust/compiler/rustc_query_system/src/dep_graph/graph.rs:210:13
 127: rustc_query_system::query::plumbing::execute_job::<rustc_query_impl::plumbing::QueryCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#3}
             at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:476:9
 128: stacker::maybe_grow::<(core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#3}>
             at /home/aaron/.cargo/registry/src/github.com-1ecc6299db9ec823/stacker-0.1.14/src/lib.rs:55:9
 129: rustc_data_structures::stack::ensure_sufficient_stack::<(core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#3}>
             at /home/aaron/repos/rust/compiler/rustc_data_structures/src/stack.rs:16:5
 130: <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query::<(core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#3}>::{closure#0}::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_query_impl/src/plumbing.rs:103:17
 131: rustc_middle::ty::context::tls::enter_context::<<rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query<(core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#3}>::{closure#0}::{closure#0}, (core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1750:50
 132: rustc_middle::ty::context::tls::set_tlv::<rustc_middle::ty::context::tls::enter_context<<rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query<(core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#3}>::{closure#0}::{closure#0}, (core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}, (core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1734:9
 133: rustc_middle::ty::context::tls::enter_context::<<rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query<(core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#3}>::{closure#0}::{closure#0}, (core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1750:9
 134: <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query::<(core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#3}>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_query_impl/src/plumbing.rs:102:13
 135: rustc_middle::ty::context::tls::with_related_context::<<rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query<(core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#3}>::{closure#0}, (core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1794:13
 136: rustc_middle::ty::context::tls::with_context::<rustc_middle::ty::context::tls::with_related_context<<rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query<(core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#3}>::{closure#0}, (core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}, (core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1778:40
 137: rustc_middle::ty::context::tls::with_context_opt::<rustc_middle::ty::context::tls::with_context<rustc_middle::ty::context::tls::with_related_context<<rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query<(core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#3}>::{closure#0}, (core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}, (core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}, (core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1767:22
 138: rustc_middle::ty::context::tls::with_context::<rustc_middle::ty::context::tls::with_related_context<<rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query<(core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#3}>::{closure#0}, (core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}, (core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1778:9
 139: rustc_middle::ty::context::tls::with_related_context::<<rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query<(core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#3}>::{closure#0}, (core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1791:9
 140: <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::start_query::<(core::result::Result<(), rustc_errors::ErrorReported>, rustc_query_system::dep_graph::graph::DepNodeIndex), rustc_query_system::query::plumbing::execute_job<rustc_query_impl::plumbing::QueryCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>::{closure#3}>
             at /home/aaron/repos/rust/compiler/rustc_query_impl/src/plumbing.rs:91:9
 141: rustc_query_system::query::plumbing::execute_job::<rustc_query_impl::plumbing::QueryCtxt, (), core::result::Result<(), rustc_errors::ErrorReported>>
             at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:466:36
 142: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::plumbing::QueryCtxt, rustc_query_system::query::caches::DefaultCache<(), core::result::Result<(), rustc_errors::ErrorReported>>>
             at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:401:44
 143: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::analysis, rustc_query_impl::plumbing::QueryCtxt>
             at /home/aaron/repos/rust/compiler/rustc_query_system/src/query/plumbing.rs:756:36
 144: <rustc_middle::ty::query::TyCtxtAt>::analysis
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/query.rs:253:17
 145: <rustc_middle::ty::context::TyCtxt>::analysis
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/query.rs:234:17
 146: rustc_driver::run_compiler::{closure#1}::{closure#2}::{closure#3}
             at /home/aaron/repos/rust/compiler/rustc_driver/src/lib.rs:386:30
 147: <rustc_interface::passes::QueryContext>::enter::<rustc_driver::run_compiler::{closure#1}::{closure#2}::{closure#3}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_interface/src/passes.rs:821:42
 148: rustc_middle::ty::context::tls::enter_context::<<rustc_interface::passes::QueryContext>::enter<rustc_driver::run_compiler::{closure#1}::{closure#2}::{closure#3}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1750:50
 149: rustc_middle::ty::context::tls::set_tlv::<rustc_middle::ty::context::tls::enter_context<<rustc_interface::passes::QueryContext>::enter<rustc_driver::run_compiler::{closure#1}::{closure#2}::{closure#3}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1734:9
 150: rustc_middle::ty::context::tls::enter_context::<<rustc_interface::passes::QueryContext>::enter<rustc_driver::run_compiler::{closure#1}::{closure#2}::{closure#3}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>
             at /home/aaron/repos/rust/compiler/rustc_middle/src/ty/context.rs:1750:9
 151: <rustc_interface::passes::QueryContext>::enter::<rustc_driver::run_compiler::{closure#1}::{closure#2}::{closure#3}, core::result::Result<(), rustc_errors::ErrorReported>>
             at /home/aaron/repos/rust/compiler/rustc_interface/src/passes.rs:821:9
 152: rustc_driver::run_compiler::{closure#1}::{closure#2}
             at /home/aaron/repos/rust/compiler/rustc_driver/src/lib.rs:385:13
 153: <rustc_interface::interface::Compiler>::enter::<rustc_driver::run_compiler::{closure#1}::{closure#2}, core::result::Result<core::option::Option<rustc_interface::queries::Linker>, rustc_errors::ErrorReported>>
             at /home/aaron/repos/rust/compiler/rustc_interface/src/queries.rs:390:19
 154: rustc_driver::run_compiler::{closure#1}
             at /home/aaron/repos/rust/compiler/rustc_driver/src/lib.rs:314:22
 155: rustc_interface::interface::create_compiler_and_run::<core::result::Result<(), rustc_errors::ErrorReported>, rustc_driver::run_compiler::{closure#1}>::{closure#1}
             at /home/aaron/repos/rust/compiler/rustc_interface/src/interface.rs:220:13
 156: rustc_span::with_source_map::<core::result::Result<(), rustc_errors::ErrorReported>, rustc_interface::interface::create_compiler_and_run<core::result::Result<(), rustc_errors::ErrorReported>, rustc_driver::run_compiler::{closure#1}>::{closure#1}>
             at /home/aaron/repos/rust/compiler/rustc_span/src/lib.rs:980:5
 157: rustc_interface::interface::create_compiler_and_run::<core::result::Result<(), rustc_errors::ErrorReported>, rustc_driver::run_compiler::{closure#1}>
             at /home/aaron/repos/rust/compiler/rustc_interface/src/interface.rs:214:5
 158: rustc_interface::interface::run_compiler::<core::result::Result<(), rustc_errors::ErrorReported>, rustc_driver::run_compiler::{closure#1}>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_interface/src/interface.rs:236:12
 159: rustc_interface::util::setup_callbacks_and_run_in_thread_pool_with_globals::<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorReported>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_interface/src/util.rs:148:13
 160: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::setup_callbacks_and_run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorReported>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>
             at /home/aaron/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-1.0.0/src/lib.rs:137:9
 161: rustc_span::create_session_globals_then::<core::result::Result<(), rustc_errors::ErrorReported>, rustc_interface::util::setup_callbacks_and_run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorReported>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}::{closure#0}>
             at /home/aaron/repos/rust/compiler/rustc_span/src/lib.rs:108:5
 162: rustc_interface::util::setup_callbacks_and_run_in_thread_pool_with_globals::<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorReported>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}
             at /home/aaron/repos/rust/compiler/rustc_interface/src/util.rs:146:9
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

error: internal compiler error: unexpected panic

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

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

note: rustc 1.59.0-dev running on x86_64-unknown-linux-gnu

note: compiler flags: -C panic=abort -C embed-bitcode=no -C debuginfo=2 -C incremental --crate-type bin

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

@pymongo
Copy link
Contributor

pymongo commented Dec 16, 2021

I reproduce this ICE when I modified some hyper source code and recompile

[w@ww hyper]$ cargo c
    Checking log v0.4.14
    Checking futures-util v0.3.15
thread 'rustc' panicked at 'assertion failed: sentinel == STR_SENTINEL', /rustc/0b42deaccc2cbe17a68067aa5fdb76104369e1fd/compiler/rustc_serialize/src/opaque.rs:669:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

error: internal compiler error: unexpected panic

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

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

note: rustc 1.59.0-nightly (0b42deacc 2021-12-09) running on x86_64-unknown-linux-gnu

note: compiler flags: -C embed-bitcode=no -C debuginfo=2 -C link-arg=-fuse-ld=lld -C target-cpu=znver3 --crate-type lib

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

query stack during panic:
end of query stack
error: could not compile `log`
warning: build failed, waiting for other jobs to finish...
thread 'rustc' panicked at 'assertion failed: sentinel == STR_SENTINEL', /rustc/0b42deaccc2cbe17a68067aa5fdb76104369e1fd/compiler/rustc_serialize/src/opaque.rs:669:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

error: internal compiler error: unexpected panic

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

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

note: rustc 1.59.0-nightly (0b42deacc 2021-12-09) running on x86_64-unknown-linux-gnu

note: compiler flags: -C embed-bitcode=no -C debuginfo=2 -C link-arg=-fuse-ld=lld -C target-cpu=znver3 --crate-type lib

bors added a commit to rust-lang-ci/rust that referenced this issue Dec 20, 2021
…lwoerister

Fully serialize AdtDef

This avoids needing to invoke the `adt_def` query during
the decoding of another query's result.

Split out from rust-lang#91919
See rust-lang#91696 (comment)
@alexxbb
Copy link

alexxbb commented Dec 26, 2021

I also hit exactly the same ICE with my crate on stable 1.57, but in my case I only changed module item visibility, i.e. adding/ removing pub. cargo clean works as a workaround.

@Aaron1011
Copy link
Member

This should be fixed on the latest nightly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-incr-comp Area: Incremental compilation C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

8 participants