Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

cargo clippy crashes on my package #9746

Closed
rick-kilgore opened this issue Oct 29, 2022 · 10 comments · Fixed by #9773
Closed

cargo clippy crashes on my package #9746

rick-kilgore opened this issue Oct 29, 2022 · 10 comments · Fixed by #9773
Labels
C-bug Category: Clippy is not doing the correct thing I-ICE Issue: Clippy panicked, giving an Internal Compilation Error (ICE) ❄️

Comments

@rick-kilgore
Copy link

rick-kilgore commented Oct 29, 2022

I went ahead and created a GitHub repo for my project so you can repro it: https://github.com/rick-kilgore/climom/tree/refactoring

@Alexendoo
Copy link
Member

Could you show the output of running RUST_BACKTRACE=1 cargo clippy? I don't have a macos device to test this

@kraktus
Copy link
Contributor

kraktus commented Oct 29, 2022

the output of rustc -vV would also be useful

@rick-kilgore
Copy link
Author

rick-kilgore commented Oct 30, 2022

Here is the clippy output:

    Checking climom v0.1.0 (/Users/rkilgore/local/dad/climom)
thread 'rustc' panicked at 'assertion failed: !value.has_escaping_bound_vars()', /rustc/c2804e6ec2c29a5c7368600ea173b890e2655c3d/compiler/rustc_middle/src/ty/sty.rs:1034:9
stack backtrace:
   0: _rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::panicking::panic
   3: rustc_trait_selection::traits::type_known_to_meet_bound_modulo_regions
   4: <rustc_infer::infer::InferCtxtBuilder>::enter::<bool, rustc_ty_utils::common_traits::is_item_raw::{closure#0}>
   5: rustc_ty_utils::common_traits::is_item_raw
   6: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::Ty>, bool>
   7: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::plumbing::QueryCtxt, rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::Ty>, bool>>
   8: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::is_sized_raw, rustc_query_impl::plumbing::QueryCtxt>
   9: <rustc_middle::ty::Ty>::is_sized
  10: <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt>>::layout_of_uncached
  11: rustc_middle::ty::layout::layout_of
  12: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::Ty>, core::result::Result<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>, rustc_middle::ty::layout::LayoutError>>
  13: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::layout_of, rustc_query_impl::plumbing::QueryCtxt>
  14: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::layout_of
  15: <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt> as rustc_middle::ty::layout::LayoutOf>::spanned_layout_of
  16: <alloc::vec::Vec<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>> as alloc::vec::spec_from_iter::SpecFromIter<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>, core::iter::adapters::GenericShunt<core::iter::adapters::map::Map<core::slice::iter::Iter<rustc_middle::ty::FieldDef>, <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt>>::layout_of_uncached::{closure#5}::{closure#0}>, core::result::Result<core::convert::Infallible, rustc_middle::ty::layout::LayoutError>>>>::from_iter
  17: <core::iter::adapters::map::Map<core::slice::iter::Iter<rustc_middle::ty::VariantDef>, <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt>>::layout_of_uncached::{closure#5}> as core::iter::traits::iterator::Iterator>::try_fold::<(), <core::iter::adapters::GenericShunt<core::iter::adapters::map::Map<core::slice::iter::Iter<rustc_middle::ty::VariantDef>, <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt>>::layout_of_uncached::{closure#5}>, core::result::Result<core::convert::Infallible, rustc_middle::ty::layout::LayoutError>> as core::iter::traits::iterator::Iterator>::try_fold<(), core::iter::traits::iterator::Iterator::try_for_each::call<alloc::vec::Vec<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>>, core::ops::control_flow::ControlFlow<alloc::vec::Vec<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>>>, core::ops::control_flow::ControlFlow<alloc::vec::Vec<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>>>::Break>::{closure#0}, core::ops::control_flow::ControlFlow<alloc::vec::Vec<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>>>>::{closure#0}, core::ops::control_flow::ControlFlow<core::ops::control_flow::ControlFlow<alloc::vec::Vec<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>>>>>
  18: <alloc::vec::Vec<alloc::vec::Vec<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>>> as alloc::vec::spec_from_iter::SpecFromIter<alloc::vec::Vec<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>>, core::iter::adapters::GenericShunt<core::iter::adapters::map::Map<core::slice::iter::Iter<rustc_middle::ty::VariantDef>, <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt>>::layout_of_uncached::{closure#5}>, core::result::Result<core::convert::Infallible, rustc_middle::ty::layout::LayoutError>>>>::from_iter
  19: <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt>>::layout_of_uncached
  20: rustc_middle::ty::layout::layout_of
  21: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::Ty>, core::result::Result<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>, rustc_middle::ty::layout::LayoutError>>
  22: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::layout_of, rustc_query_impl::plumbing::QueryCtxt>
  23: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::layout_of
  24: <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt> as rustc_middle::ty::layout::LayoutOf>::spanned_layout_of
  25: <alloc::vec::Vec<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>> as alloc::vec::spec_from_iter::SpecFromIter<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>, core::iter::adapters::GenericShunt<core::iter::adapters::map::Map<core::slice::iter::Iter<rustc_middle::ty::FieldDef>, <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt>>::layout_of_uncached::{closure#5}::{closure#0}>, core::result::Result<core::convert::Infallible, rustc_middle::ty::layout::LayoutError>>>>::from_iter
  26: <core::iter::adapters::map::Map<core::slice::iter::Iter<rustc_middle::ty::VariantDef>, <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt>>::layout_of_uncached::{closure#5}> as core::iter::traits::iterator::Iterator>::try_fold::<(), <core::iter::adapters::GenericShunt<core::iter::adapters::map::Map<core::slice::iter::Iter<rustc_middle::ty::VariantDef>, <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt>>::layout_of_uncached::{closure#5}>, core::result::Result<core::convert::Infallible, rustc_middle::ty::layout::LayoutError>> as core::iter::traits::iterator::Iterator>::try_fold<(), core::iter::traits::iterator::Iterator::try_for_each::call<alloc::vec::Vec<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>>, core::ops::control_flow::ControlFlow<alloc::vec::Vec<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>>>, core::ops::control_flow::ControlFlow<alloc::vec::Vec<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>>>::Break>::{closure#0}, core::ops::control_flow::ControlFlow<alloc::vec::Vec<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>>>>::{closure#0}, core::ops::control_flow::ControlFlow<core::ops::control_flow::ControlFlow<alloc::vec::Vec<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>>>>>
  27: <alloc::vec::Vec<alloc::vec::Vec<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>>> as alloc::vec::spec_from_iter::SpecFromIter<alloc::vec::Vec<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>>, core::iter::adapters::GenericShunt<core::iter::adapters::map::Map<core::slice::iter::Iter<rustc_middle::ty::VariantDef>, <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt>>::layout_of_uncached::{closure#5}>, core::result::Result<core::convert::Infallible, rustc_middle::ty::layout::LayoutError>>>>::from_iter
  28: <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt>>::layout_of_uncached
  29: rustc_middle::ty::layout::layout_of
  30: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::Ty>, core::result::Result<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>, rustc_middle::ty::layout::LayoutError>>
  31: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::layout_of, rustc_query_impl::plumbing::QueryCtxt>
  32: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::layout_of
  33: <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt> as rustc_middle::ty::layout::LayoutOf>::spanned_layout_of
  34: <alloc::vec::Vec<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>> as alloc::vec::spec_from_iter::SpecFromIter<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>, core::iter::adapters::GenericShunt<core::iter::adapters::map::Map<core::slice::iter::Iter<rustc_middle::ty::FieldDef>, <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt>>::layout_of_uncached::{closure#5}::{closure#0}>, core::result::Result<core::convert::Infallible, rustc_middle::ty::layout::LayoutError>>>>::from_iter
  35: <core::iter::adapters::map::Map<core::slice::iter::Iter<rustc_middle::ty::VariantDef>, <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt>>::layout_of_uncached::{closure#5}> as core::iter::traits::iterator::Iterator>::try_fold::<(), <core::iter::adapters::GenericShunt<core::iter::adapters::map::Map<core::slice::iter::Iter<rustc_middle::ty::VariantDef>, <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt>>::layout_of_uncached::{closure#5}>, core::result::Result<core::convert::Infallible, rustc_middle::ty::layout::LayoutError>> as core::iter::traits::iterator::Iterator>::try_fold<(), core::iter::traits::iterator::Iterator::try_for_each::call<alloc::vec::Vec<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>>, core::ops::control_flow::ControlFlow<alloc::vec::Vec<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>>>, core::ops::control_flow::ControlFlow<alloc::vec::Vec<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>>>::Break>::{closure#0}, core::ops::control_flow::ControlFlow<alloc::vec::Vec<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>>>>::{closure#0}, core::ops::control_flow::ControlFlow<core::ops::control_flow::ControlFlow<alloc::vec::Vec<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>>>>>
  36: <alloc::vec::Vec<alloc::vec::Vec<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>>> as alloc::vec::spec_from_iter::SpecFromIter<alloc::vec::Vec<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>>, core::iter::adapters::GenericShunt<core::iter::adapters::map::Map<core::slice::iter::Iter<rustc_middle::ty::VariantDef>, <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt>>::layout_of_uncached::{closure#5}>, core::result::Result<core::convert::Infallible, rustc_middle::ty::layout::LayoutError>>>>::from_iter
  37: <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt>>::layout_of_uncached
  38: rustc_middle::ty::layout::layout_of
  39: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::Ty>, core::result::Result<rustc_target::abi::TyAndLayout<rustc_middle::ty::Ty>, rustc_middle::ty::layout::LayoutError>>
  40: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::layout_of, rustc_query_impl::plumbing::QueryCtxt>
  41: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::layout_of
  42: clippy_utils::ty::approx_ty_size
  43: clippy_lints::functions::result::check_item
  44: <rustc_lint::late::LateLintPassObjects as rustc_lint::passes::LateLintPass>::check_item
  45: <rustc_lint::late::LateContextAndPass<rustc_lint::late::LateLintPassObjects> as rustc_hir::intravisit::Visitor>::visit_nested_item
  46: rustc_hir::intravisit::walk_item::<rustc_lint::late::LateContextAndPass<rustc_lint::late::LateLintPassObjects>>
  47: <rustc_lint::late::LateContextAndPass<rustc_lint::late::LateLintPassObjects> as rustc_hir::intravisit::Visitor>::visit_nested_item
  48: rustc_lint::late::late_lint_pass_crate::<rustc_lint::late::LateLintPassObjects>
  49: rustc_lint::late::late_lint_crate::<rustc_lint::BuiltinCombinedLateLintPass>
  50: <rustc_session::session::Session>::time::<(), rustc_lint::late::check_crate<rustc_lint::BuiltinCombinedLateLintPass, rustc_interface::passes::analysis::{closure#5}::{closure#1}::{closure#2}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}>
  51: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#5}::{closure#1}::{closure#2}::{closure#0}>
  52: <core::panic::unwind_safe::AssertUnwindSafe<rustc_interface::passes::analysis::{closure#5}::{closure#1}> as core::ops::function::FnOnce<()>>::call_once
  53: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#5}>
  54: rustc_interface::passes::analysis
  55: <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::ErrorGuaranteed>>
  56: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::plumbing::QueryCtxt, rustc_query_system::query::caches::DefaultCache<(), core::result::Result<(), rustc_errors::ErrorGuaranteed>>>
  57: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::analysis, rustc_query_impl::plumbing::QueryCtxt>
  58: <rustc_interface::passes::QueryContext>::enter::<rustc_driver::run_compiler::{closure#1}::{closure#2}::{closure#3}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>
  59: rustc_interface::interface::create_compiler_and_run::<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>
  60: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>
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-clippy/issues/new

note: Clippy version: clippy 0.1.65 (c2804e6e 2022-09-07)

query stack during panic:
#0 [is_sized_raw] computing whether `(dyn core::error::Error + 'a)` is `Sized`
#1 [layout_of] computing layout of `*const (dyn core::error::Error + 'a)`
#2 [layout_of] computing layout of `core::ptr::non_null::NonNull<(dyn core::error::Error + 'a)>`
#3 [layout_of] computing layout of `core::ptr::unique::Unique<(dyn core::error::Error + 'a)>`
#4 [layout_of] computing layout of `alloc::boxed::Box<(dyn core::error::Error + 'a)>`
#5 [analysis] running analysis passes on this crate
end of query stack
error: could not compile `climom`
exit code: 101

@rick-kilgore
Copy link
Author

And here is the rustc output:

rustc 1.65.0-nightly (c2804e6 2022-09-07)
binary: rustc
commit-hash: c2804e6
commit-date: 2022-09-07
host: aarch64-apple-darwin
release: 1.65.0-nightly
LLVM version: 15.0.0

@rick-kilgore
Copy link
Author

rick-kilgore commented Oct 30, 2022

I just saw the message that says to run with RUST_BACKTRACE=full, so here is that output:

    Checking climom v0.1.0 (/Users/rkilgore/local/dad/climom)
thread 'rustc' panicked at 'assertion failed: !value.has_escaping_bound_vars()', /rustc/c2804e6ec2c29a5c7368600ea173b890e2655c3d/compiler/rustc_middle/src/ty/sty.rs:1034:9
stack backtrace:
   0:        0x1053a3a24 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hf7674ebf4cd4cfe8
   1:        0x1053ee1fc - core::fmt::write::h0ead839590d32c94
   2:        0x105396bd0 - std::io::Write::write_fmt::he91882b1a204e227
   3:        0x1053a6260 - std::panicking::default_hook::{{closure}}::h51f61f4e03a9c85f
   4:        0x1053a5f84 - std::panicking::default_hook::he5e280169dd2f72d
   5:        0x104103c18 - clippy_driver[b4c16277f752e6d5]::ICE_HOOK::{closure#0}::{closure#0}
   6:        0x1053a6924 - std::panicking::rust_panic_with_hook::hf845bc118ac73256
   7:        0x1053a6794 - std::panicking::begin_panic_handler::{{closure}}::h8097f15af47e06cd
   8:        0x1053a3ea0 - std::sys_common::backtrace::__rust_end_short_backtrace::h3f25a59bc42b41ac
   9:        0x1053a6524 - _rust_begin_unwind
  10:        0x1054178c4 - core::panicking::panic_fmt::h62523eeb28bb7217
  11:        0x1054177e4 - core::panicking::panic::h4854b650d2abdb50
  12:        0x110ce6918 - rustc_trait_selection[81987b3bc674adca]::traits::type_known_to_meet_bound_modulo_regions
  13:        0x10fa61038 - <rustc_infer[9870c08965c44984]::infer::InferCtxtBuilder>::enter::<bool, rustc_ty_utils[3732e9eba65bc409]::common_traits::is_item_raw::{closure#0}>
  14:        0x10fa560b8 - rustc_ty_utils[3732e9eba65bc409]::common_traits::is_item_raw
  15:        0x1103d23b4 - <rustc_query_system[a370f7f14698815d]::dep_graph::graph::DepGraph<rustc_middle[cf2755ebe3113b4c]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt, rustc_middle[cf2755ebe3113b4c]::ty::ParamEnvAnd<rustc_middle[cf2755ebe3113b4c]::ty::Ty>, bool>
  16:        0x110190c2c - rustc_query_system[a370f7f14698815d]::query::plumbing::try_execute_query::<rustc_query_impl[b0d5aeac2018f056]::plumbing::QueryCtxt, rustc_query_system[a370f7f14698815d]::query::caches::DefaultCache<rustc_middle[cf2755ebe3113b4c]::ty::ParamEnvAnd<rustc_middle[cf2755ebe3113b4c]::ty::Ty>, bool>>
  17:        0x110247eb8 - rustc_query_system[a370f7f14698815d]::query::plumbing::get_query::<rustc_query_impl[b0d5aeac2018f056]::queries::is_sized_raw, rustc_query_impl[b0d5aeac2018f056]::plumbing::QueryCtxt>
  18:        0x110f62f84 - <rustc_middle[cf2755ebe3113b4c]::ty::Ty>::is_sized
  19:        0x110eb6018 - <rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutCx<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt>>::layout_of_uncached
  20:        0x110ec7f8c - rustc_middle[cf2755ebe3113b4c]::ty::layout::layout_of
  21:        0x1103d1a54 - <rustc_query_system[a370f7f14698815d]::dep_graph::graph::DepGraph<rustc_middle[cf2755ebe3113b4c]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt, rustc_middle[cf2755ebe3113b4c]::ty::ParamEnvAnd<rustc_middle[cf2755ebe3113b4c]::ty::Ty>, core[527f03cb50069cba]::result::Result<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>, rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutError>>
  22:        0x1102788bc - rustc_query_system[a370f7f14698815d]::query::plumbing::get_query::<rustc_query_impl[b0d5aeac2018f056]::queries::layout_of, rustc_query_impl[b0d5aeac2018f056]::plumbing::QueryCtxt>
  23:        0x11049fa84 - <rustc_query_impl[b0d5aeac2018f056]::Queries as rustc_middle[cf2755ebe3113b4c]::ty::query::QueryEngine>::layout_of
  24:        0x110ebbfbc - <rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutCx<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt> as rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutOf>::spanned_layout_of
  25:        0x110ee3534 - <alloc[bbe13044d6d5ad1c]::vec::Vec<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>> as alloc[bbe13044d6d5ad1c]::vec::spec_from_iter::SpecFromIter<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>, core[527f03cb50069cba]::iter::adapters::GenericShunt<core[527f03cb50069cba]::iter::adapters::map::Map<core[527f03cb50069cba]::slice::iter::Iter<rustc_middle[cf2755ebe3113b4c]::ty::FieldDef>, <rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutCx<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt>>::layout_of_uncached::{closure#5}::{closure#0}>, core[527f03cb50069cba]::result::Result<core[527f03cb50069cba]::convert::Infallible, rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutError>>>>::from_iter
  26:        0x110ea21a4 - <core[527f03cb50069cba]::iter::adapters::map::Map<core[527f03cb50069cba]::slice::iter::Iter<rustc_middle[cf2755ebe3113b4c]::ty::VariantDef>, <rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutCx<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt>>::layout_of_uncached::{closure#5}> as core[527f03cb50069cba]::iter::traits::iterator::Iterator>::try_fold::<(), <core[527f03cb50069cba]::iter::adapters::GenericShunt<core[527f03cb50069cba]::iter::adapters::map::Map<core[527f03cb50069cba]::slice::iter::Iter<rustc_middle[cf2755ebe3113b4c]::ty::VariantDef>, <rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutCx<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt>>::layout_of_uncached::{closure#5}>, core[527f03cb50069cba]::result::Result<core[527f03cb50069cba]::convert::Infallible, rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutError>> as core[527f03cb50069cba]::iter::traits::iterator::Iterator>::try_fold<(), core[527f03cb50069cba]::iter::traits::iterator::Iterator::try_for_each::call<alloc[bbe13044d6d5ad1c]::vec::Vec<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>>, core[527f03cb50069cba]::ops::control_flow::ControlFlow<alloc[bbe13044d6d5ad1c]::vec::Vec<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>>>, core[527f03cb50069cba]::ops::control_flow::ControlFlow<alloc[bbe13044d6d5ad1c]::vec::Vec<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>>>::Break>::{closure#0}, core[527f03cb50069cba]::ops::control_flow::ControlFlow<alloc[bbe13044d6d5ad1c]::vec::Vec<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>>>>::{closure#0}, core[527f03cb50069cba]::ops::control_flow::ControlFlow<core[527f03cb50069cba]::ops::control_flow::ControlFlow<alloc[bbe13044d6d5ad1c]::vec::Vec<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>>>>>
  27:        0x110ee2594 - <alloc[bbe13044d6d5ad1c]::vec::Vec<alloc[bbe13044d6d5ad1c]::vec::Vec<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>>> as alloc[bbe13044d6d5ad1c]::vec::spec_from_iter::SpecFromIter<alloc[bbe13044d6d5ad1c]::vec::Vec<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>>, core[527f03cb50069cba]::iter::adapters::GenericShunt<core[527f03cb50069cba]::iter::adapters::map::Map<core[527f03cb50069cba]::slice::iter::Iter<rustc_middle[cf2755ebe3113b4c]::ty::VariantDef>, <rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutCx<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt>>::layout_of_uncached::{closure#5}>, core[527f03cb50069cba]::result::Result<core[527f03cb50069cba]::convert::Infallible, rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutError>>>>::from_iter
  28:        0x110eb61f0 - <rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutCx<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt>>::layout_of_uncached
  29:        0x110ec7f8c - rustc_middle[cf2755ebe3113b4c]::ty::layout::layout_of
  30:        0x1103d1a54 - <rustc_query_system[a370f7f14698815d]::dep_graph::graph::DepGraph<rustc_middle[cf2755ebe3113b4c]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt, rustc_middle[cf2755ebe3113b4c]::ty::ParamEnvAnd<rustc_middle[cf2755ebe3113b4c]::ty::Ty>, core[527f03cb50069cba]::result::Result<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>, rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutError>>
  31:        0x1102788bc - rustc_query_system[a370f7f14698815d]::query::plumbing::get_query::<rustc_query_impl[b0d5aeac2018f056]::queries::layout_of, rustc_query_impl[b0d5aeac2018f056]::plumbing::QueryCtxt>
  32:        0x11049fa84 - <rustc_query_impl[b0d5aeac2018f056]::Queries as rustc_middle[cf2755ebe3113b4c]::ty::query::QueryEngine>::layout_of
  33:        0x110ebbfbc - <rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutCx<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt> as rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutOf>::spanned_layout_of
  34:        0x110ee3534 - <alloc[bbe13044d6d5ad1c]::vec::Vec<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>> as alloc[bbe13044d6d5ad1c]::vec::spec_from_iter::SpecFromIter<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>, core[527f03cb50069cba]::iter::adapters::GenericShunt<core[527f03cb50069cba]::iter::adapters::map::Map<core[527f03cb50069cba]::slice::iter::Iter<rustc_middle[cf2755ebe3113b4c]::ty::FieldDef>, <rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutCx<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt>>::layout_of_uncached::{closure#5}::{closure#0}>, core[527f03cb50069cba]::result::Result<core[527f03cb50069cba]::convert::Infallible, rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutError>>>>::from_iter
  35:        0x110ea21a4 - <core[527f03cb50069cba]::iter::adapters::map::Map<core[527f03cb50069cba]::slice::iter::Iter<rustc_middle[cf2755ebe3113b4c]::ty::VariantDef>, <rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutCx<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt>>::layout_of_uncached::{closure#5}> as core[527f03cb50069cba]::iter::traits::iterator::Iterator>::try_fold::<(), <core[527f03cb50069cba]::iter::adapters::GenericShunt<core[527f03cb50069cba]::iter::adapters::map::Map<core[527f03cb50069cba]::slice::iter::Iter<rustc_middle[cf2755ebe3113b4c]::ty::VariantDef>, <rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutCx<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt>>::layout_of_uncached::{closure#5}>, core[527f03cb50069cba]::result::Result<core[527f03cb50069cba]::convert::Infallible, rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutError>> as core[527f03cb50069cba]::iter::traits::iterator::Iterator>::try_fold<(), core[527f03cb50069cba]::iter::traits::iterator::Iterator::try_for_each::call<alloc[bbe13044d6d5ad1c]::vec::Vec<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>>, core[527f03cb50069cba]::ops::control_flow::ControlFlow<alloc[bbe13044d6d5ad1c]::vec::Vec<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>>>, core[527f03cb50069cba]::ops::control_flow::ControlFlow<alloc[bbe13044d6d5ad1c]::vec::Vec<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>>>::Break>::{closure#0}, core[527f03cb50069cba]::ops::control_flow::ControlFlow<alloc[bbe13044d6d5ad1c]::vec::Vec<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>>>>::{closure#0}, core[527f03cb50069cba]::ops::control_flow::ControlFlow<core[527f03cb50069cba]::ops::control_flow::ControlFlow<alloc[bbe13044d6d5ad1c]::vec::Vec<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>>>>>
  36:        0x110ee2594 - <alloc[bbe13044d6d5ad1c]::vec::Vec<alloc[bbe13044d6d5ad1c]::vec::Vec<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>>> as alloc[bbe13044d6d5ad1c]::vec::spec_from_iter::SpecFromIter<alloc[bbe13044d6d5ad1c]::vec::Vec<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>>, core[527f03cb50069cba]::iter::adapters::GenericShunt<core[527f03cb50069cba]::iter::adapters::map::Map<core[527f03cb50069cba]::slice::iter::Iter<rustc_middle[cf2755ebe3113b4c]::ty::VariantDef>, <rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutCx<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt>>::layout_of_uncached::{closure#5}>, core[527f03cb50069cba]::result::Result<core[527f03cb50069cba]::convert::Infallible, rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutError>>>>::from_iter
  37:        0x110eb61f0 - <rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutCx<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt>>::layout_of_uncached
  38:        0x110ec7f8c - rustc_middle[cf2755ebe3113b4c]::ty::layout::layout_of
  39:        0x1103d1a54 - <rustc_query_system[a370f7f14698815d]::dep_graph::graph::DepGraph<rustc_middle[cf2755ebe3113b4c]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt, rustc_middle[cf2755ebe3113b4c]::ty::ParamEnvAnd<rustc_middle[cf2755ebe3113b4c]::ty::Ty>, core[527f03cb50069cba]::result::Result<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>, rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutError>>
  40:        0x1102788bc - rustc_query_system[a370f7f14698815d]::query::plumbing::get_query::<rustc_query_impl[b0d5aeac2018f056]::queries::layout_of, rustc_query_impl[b0d5aeac2018f056]::plumbing::QueryCtxt>
  41:        0x11049fa84 - <rustc_query_impl[b0d5aeac2018f056]::Queries as rustc_middle[cf2755ebe3113b4c]::ty::query::QueryEngine>::layout_of
  42:        0x110ebbfbc - <rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutCx<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt> as rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutOf>::spanned_layout_of
  43:        0x110ee3534 - <alloc[bbe13044d6d5ad1c]::vec::Vec<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>> as alloc[bbe13044d6d5ad1c]::vec::spec_from_iter::SpecFromIter<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>, core[527f03cb50069cba]::iter::adapters::GenericShunt<core[527f03cb50069cba]::iter::adapters::map::Map<core[527f03cb50069cba]::slice::iter::Iter<rustc_middle[cf2755ebe3113b4c]::ty::FieldDef>, <rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutCx<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt>>::layout_of_uncached::{closure#5}::{closure#0}>, core[527f03cb50069cba]::result::Result<core[527f03cb50069cba]::convert::Infallible, rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutError>>>>::from_iter
  44:        0x110ea21a4 - <core[527f03cb50069cba]::iter::adapters::map::Map<core[527f03cb50069cba]::slice::iter::Iter<rustc_middle[cf2755ebe3113b4c]::ty::VariantDef>, <rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutCx<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt>>::layout_of_uncached::{closure#5}> as core[527f03cb50069cba]::iter::traits::iterator::Iterator>::try_fold::<(), <core[527f03cb50069cba]::iter::adapters::GenericShunt<core[527f03cb50069cba]::iter::adapters::map::Map<core[527f03cb50069cba]::slice::iter::Iter<rustc_middle[cf2755ebe3113b4c]::ty::VariantDef>, <rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutCx<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt>>::layout_of_uncached::{closure#5}>, core[527f03cb50069cba]::result::Result<core[527f03cb50069cba]::convert::Infallible, rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutError>> as core[527f03cb50069cba]::iter::traits::iterator::Iterator>::try_fold<(), core[527f03cb50069cba]::iter::traits::iterator::Iterator::try_for_each::call<alloc[bbe13044d6d5ad1c]::vec::Vec<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>>, core[527f03cb50069cba]::ops::control_flow::ControlFlow<alloc[bbe13044d6d5ad1c]::vec::Vec<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>>>, core[527f03cb50069cba]::ops::control_flow::ControlFlow<alloc[bbe13044d6d5ad1c]::vec::Vec<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>>>::Break>::{closure#0}, core[527f03cb50069cba]::ops::control_flow::ControlFlow<alloc[bbe13044d6d5ad1c]::vec::Vec<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>>>>::{closure#0}, core[527f03cb50069cba]::ops::control_flow::ControlFlow<core[527f03cb50069cba]::ops::control_flow::ControlFlow<alloc[bbe13044d6d5ad1c]::vec::Vec<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>>>>>
  45:        0x110ee2594 - <alloc[bbe13044d6d5ad1c]::vec::Vec<alloc[bbe13044d6d5ad1c]::vec::Vec<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>>> as alloc[bbe13044d6d5ad1c]::vec::spec_from_iter::SpecFromIter<alloc[bbe13044d6d5ad1c]::vec::Vec<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>>, core[527f03cb50069cba]::iter::adapters::GenericShunt<core[527f03cb50069cba]::iter::adapters::map::Map<core[527f03cb50069cba]::slice::iter::Iter<rustc_middle[cf2755ebe3113b4c]::ty::VariantDef>, <rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutCx<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt>>::layout_of_uncached::{closure#5}>, core[527f03cb50069cba]::result::Result<core[527f03cb50069cba]::convert::Infallible, rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutError>>>>::from_iter
  46:        0x110eb61f0 - <rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutCx<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt>>::layout_of_uncached
  47:        0x110ec7f8c - rustc_middle[cf2755ebe3113b4c]::ty::layout::layout_of
  48:        0x1103d1a54 - <rustc_query_system[a370f7f14698815d]::dep_graph::graph::DepGraph<rustc_middle[cf2755ebe3113b4c]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt, rustc_middle[cf2755ebe3113b4c]::ty::ParamEnvAnd<rustc_middle[cf2755ebe3113b4c]::ty::Ty>, core[527f03cb50069cba]::result::Result<rustc_target[af271ae55a569304]::abi::TyAndLayout<rustc_middle[cf2755ebe3113b4c]::ty::Ty>, rustc_middle[cf2755ebe3113b4c]::ty::layout::LayoutError>>
  49:        0x1102788bc - rustc_query_system[a370f7f14698815d]::query::plumbing::get_query::<rustc_query_impl[b0d5aeac2018f056]::queries::layout_of, rustc_query_impl[b0d5aeac2018f056]::plumbing::QueryCtxt>
  50:        0x11049fa84 - <rustc_query_impl[b0d5aeac2018f056]::Queries as rustc_middle[cf2755ebe3113b4c]::ty::query::QueryEngine>::layout_of
  51:        0x1044da86c - clippy_utils[970d12d67dac83a4]::ty::approx_ty_size
  52:        0x10439fac0 - clippy_lints[16c25a89b10578ad]::functions::result::check_item
  53:        0x110b89a34 - <rustc_lint[ce2d2d2f351eefb4]::late::LateLintPassObjects as rustc_lint[ce2d2d2f351eefb4]::passes::LateLintPass>::check_item
  54:        0x10d330c48 - <rustc_lint[ce2d2d2f351eefb4]::late::LateContextAndPass<rustc_lint[ce2d2d2f351eefb4]::late::LateLintPassObjects> as rustc_hir[5df8f7745e3e7307]::intravisit::Visitor>::visit_nested_item
  55:        0x10d2d64a4 - rustc_hir[5df8f7745e3e7307]::intravisit::walk_item::<rustc_lint[ce2d2d2f351eefb4]::late::LateContextAndPass<rustc_lint[ce2d2d2f351eefb4]::late::LateLintPassObjects>>
  56:        0x10d330c54 - <rustc_lint[ce2d2d2f351eefb4]::late::LateContextAndPass<rustc_lint[ce2d2d2f351eefb4]::late::LateLintPassObjects> as rustc_hir[5df8f7745e3e7307]::intravisit::Visitor>::visit_nested_item
  57:        0x10d330034 - rustc_lint[ce2d2d2f351eefb4]::late::late_lint_pass_crate::<rustc_lint[ce2d2d2f351eefb4]::late::LateLintPassObjects>
  58:        0x10d32f8d4 - rustc_lint[ce2d2d2f351eefb4]::late::late_lint_crate::<rustc_lint[ce2d2d2f351eefb4]::BuiltinCombinedLateLintPass>
  59:        0x10d300a74 - <rustc_session[57c727539bfcea14]::session::Session>::time::<(), rustc_lint[ce2d2d2f351eefb4]::late::check_crate<rustc_lint[ce2d2d2f351eefb4]::BuiltinCombinedLateLintPass, rustc_interface[85418d078510be5a]::passes::analysis::{closure#5}::{closure#1}::{closure#2}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}>
  60:        0x10d300e88 - <rustc_session[57c727539bfcea14]::session::Session>::time::<(), rustc_interface[85418d078510be5a]::passes::analysis::{closure#5}::{closure#1}::{closure#2}::{closure#0}>
  61:        0x10d34fe08 - <core[527f03cb50069cba]::panic::unwind_safe::AssertUnwindSafe<rustc_interface[85418d078510be5a]::passes::analysis::{closure#5}::{closure#1}> as core[527f03cb50069cba]::ops::function::FnOnce<()>>::call_once
  62:        0x10d30331c - <rustc_session[57c727539bfcea14]::session::Session>::time::<(), rustc_interface[85418d078510be5a]::passes::analysis::{closure#5}>
  63:        0x10d2fe670 - rustc_interface[85418d078510be5a]::passes::analysis
  64:        0x110406474 - <rustc_query_system[a370f7f14698815d]::dep_graph::graph::DepGraph<rustc_middle[cf2755ebe3113b4c]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[cf2755ebe3113b4c]::ty::context::TyCtxt, (), core[527f03cb50069cba]::result::Result<(), rustc_errors[f9b8471738364d00]::ErrorGuaranteed>>
  65:        0x1101fa200 - rustc_query_system[a370f7f14698815d]::query::plumbing::try_execute_query::<rustc_query_impl[b0d5aeac2018f056]::plumbing::QueryCtxt, rustc_query_system[a370f7f14698815d]::query::caches::DefaultCache<(), core[527f03cb50069cba]::result::Result<(), rustc_errors[f9b8471738364d00]::ErrorGuaranteed>>>
  66:        0x1102770c8 - rustc_query_system[a370f7f14698815d]::query::plumbing::get_query::<rustc_query_impl[b0d5aeac2018f056]::queries::analysis, rustc_query_impl[b0d5aeac2018f056]::plumbing::QueryCtxt>
  67:        0x10d220d34 - <rustc_interface[85418d078510be5a]::passes::QueryContext>::enter::<rustc_driver[bc09cc9802b55636]::run_compiler::{closure#1}::{closure#2}::{closure#3}, core[527f03cb50069cba]::result::Result<(), rustc_errors[f9b8471738364d00]::ErrorGuaranteed>>
  68:        0x10d20c954 - rustc_interface[85418d078510be5a]::interface::create_compiler_and_run::<core[527f03cb50069cba]::result::Result<(), rustc_errors[f9b8471738364d00]::ErrorGuaranteed>, rustc_driver[bc09cc9802b55636]::run_compiler::{closure#1}>
  69:        0x10d2582d8 - <scoped_tls[f4d3abbe64119954]::ScopedKey<rustc_span[1731e6ef237bc10e]::SessionGlobals>>::set::<rustc_interface[85418d078510be5a]::interface::run_compiler<core[527f03cb50069cba]::result::Result<(), rustc_errors[f9b8471738364d00]::ErrorGuaranteed>, rustc_driver[bc09cc9802b55636]::run_compiler::{closure#1}>::{closure#0}, core[527f03cb50069cba]::result::Result<(), rustc_errors[f9b8471738364d00]::ErrorGuaranteed>>
  70:        0x10d2240f4 - std[499f5996b9c1690b]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[85418d078510be5a]::util::run_in_thread_pool_with_globals<rustc_interface[85418d078510be5a]::interface::run_compiler<core[527f03cb50069cba]::result::Result<(), rustc_errors[f9b8471738364d00]::ErrorGuaranteed>, rustc_driver[bc09cc9802b55636]::run_compiler::{closure#1}>::{closure#0}, core[527f03cb50069cba]::result::Result<(), rustc_errors[f9b8471738364d00]::ErrorGuaranteed>>::{closure#0}, core[527f03cb50069cba]::result::Result<(), rustc_errors[f9b8471738364d00]::ErrorGuaranteed>>
  71:        0x10d226f18 - <<std[499f5996b9c1690b]::thread::Builder>::spawn_unchecked_<rustc_interface[85418d078510be5a]::util::run_in_thread_pool_with_globals<rustc_interface[85418d078510be5a]::interface::run_compiler<core[527f03cb50069cba]::result::Result<(), rustc_errors[f9b8471738364d00]::ErrorGuaranteed>, rustc_driver[bc09cc9802b55636]::run_compiler::{closure#1}>::{closure#0}, core[527f03cb50069cba]::result::Result<(), rustc_errors[f9b8471738364d00]::ErrorGuaranteed>>::{closure#0}, core[527f03cb50069cba]::result::Result<(), rustc_errors[f9b8471738364d00]::ErrorGuaranteed>>::{closure#1} as core[527f03cb50069cba]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  72:        0x1053ae8c4 - std::sys::unix::thread::Thread::new::thread_start::h39612b0944a46f94
  73:        0x1c280026c - __pthread_deallocate

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-clippy/issues/new

note: Clippy version: clippy 0.1.65 (c2804e6e 2022-09-07)

query stack during panic:
#0 [is_sized_raw] computing whether `(dyn core::error::Error + 'a)` is `Sized`
#1 [layout_of] computing layout of `*const (dyn core::error::Error + 'a)`
#2 [layout_of] computing layout of `core::ptr::non_null::NonNull<(dyn core::error::Error + 'a)>`
#3 [layout_of] computing layout of `core::ptr::unique::Unique<(dyn core::error::Error + 'a)>`
#4 [layout_of] computing layout of `alloc::boxed::Box<(dyn core::error::Error + 'a)>`
#5 [analysis] running analysis passes on this crate
end of query stack
error: could not compile `climom`
exit code: 101

@Alexendoo
Copy link
Member

Thanks! I believe this is fixed by #9417, could you give it a go on the latest nightly?

@Vixenka
Copy link

Vixenka commented Oct 31, 2022

@Alexendoo I have similar problem in my package. I wrote minimal reproduction of this error, which still exists in clippy 0.1.66 (77e57db 2022-10-30) on lib.

trait Trait {
}

struct Struct<'a> {
    _inner: &'a Struct<'a>
}

impl Trait for Struct<'_> {
}

fn example<'a>(s: &'a Struct) -> Box<Box<dyn Trait + 'a>> {
    Box::new(Box::new(Struct { _inner: s }))
}

@Alexendoo Alexendoo added C-bug Category: Clippy is not doing the correct thing I-ICE Issue: Clippy panicked, giving an Internal Compilation Error (ICE) ❄️ labels Oct 31, 2022
@rick-kilgore
Copy link
Author

Thanks! I believe this is fixed by #9417, could you give it a go on the latest nightly?

Yes, it does work on nightly. I'm very new to rust. Is it typically pretty stable to stay on nightly? I didn't see away to use just the nightly version of clippy.

@Alexendoo
Copy link
Member

It's most common to stick to the stable channel rather than nightly, but if you have a project that requires nightly pinning a specific version for that project via a rust-toolchain.toml is the usual way to go about it

With rustup you can use e.g. cargo +nightly clippy to set the toolchain for a single command, but there's no way to persistently set only a different clippy version

Updating nightly to nightly usually goes fine, but roughly the more #![feature]s are in use the more likely something is to break

@bors bors closed this as completed in 8d7f638 Nov 2, 2022
@rick-kilgore
Copy link
Author

Awesome, thank you for the reply!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: Clippy is not doing the correct thing I-ICE Issue: Clippy panicked, giving an Internal Compilation Error (ICE) ❄️
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants