rust-lang / rust-clippy

A bunch of lints to catch common mistakes and improve your Rust code. Book: https://doc.rust-lang.org/clippy/
https://rust-lang.github.io/rust-clippy/
Other
11.27k stars 1.52k forks source link

thread 'rustc' panicked at 'forcing query with already existing `DepNode` #10131

Open houqp opened 1 year ago

houqp commented 1 year ago

To reproduce run cargo clippy --all-targets --all-features -- -D warnings in https://github.com/houqp/s3-server/commit/dec100c6f7c2e68bdab7dbe40b35fc10020433e1.

Full stack trace.

thread 'rustc' panicked at 'forcing query with already existing `DepNode`
- query-key: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [], reveal: UserFacing, constness: NotConst }, value: Val(ByRef { alloc: Allocation { bytes: [0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], provenance: ProvenanceMap(SortedMap { data: [(Size(0 bytes), alloc6495), (Size(24 bytes), alloc967)] }), init_mask: InitMask { blocks: [4294967295], len: Size(32 bytes) }, align: Align(8 bytes), mutability: Not, extra: () }, offset: Size(0 bytes) }, hyper::header::HeaderName) }
- dep-node: try_destructure_mir_constant(819f2de9b8a0f25f-10679bb22ee6af2a)', /rustc/69f9c33d71c871fc16ac445211281c6e7a340943/compiler/rustc_query_system/src/dep_graph/graph.rs:316:9
stack backtrace:
   0: _rust_begin_unwind
   1: core::panicking::panic_fmt
   2: <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::mir::ConstantKind>, core::option::Option<rustc_middle::mir::query::DestructuredConstant>>
   3: 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::mir::ConstantKind>, core::option::Option<rustc_middle::mir::query::DestructuredConstant>>>
   4: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::try_destructure_mir_constant, rustc_query_impl::plumbing::QueryCtxt>
   5: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::try_destructure_mir_constant
   6: <rustc_middle::ty::context::TyCtxt>::destructure_mir_constant
   7: clippy_lints::non_copy_const::is_value_unfrozen_raw::inner
   8: <clippy_lints::non_copy_const::NonCopyConst as rustc_lint::passes::LateLintPass>::check_item
   9: <rustc_lint::late::LateLintPassObjects as rustc_lint::passes::LateLintPass>::check_item
  10: <rustc_lint::late::LateContextAndPass<rustc_lint::late::LateLintPassObjects> as rustc_hir::intravisit::Visitor>::visit_nested_item
  11: rustc_hir::intravisit::walk_item::<rustc_lint::late::LateContextAndPass<rustc_lint::late::LateLintPassObjects>>
  12: <rustc_lint::late::LateContextAndPass<rustc_lint::late::LateLintPassObjects> as rustc_hir::intravisit::Visitor>::visit_nested_item
  13: rustc_lint::late::late_lint_pass_crate::<rustc_lint::late::LateLintPassObjects>
  14: rustc_lint::late::late_lint_crate::<rustc_lint::BuiltinCombinedLateLintPass>
  15: rustc_data_structures::sync::join::<rustc_lint::late::check_crate<rustc_lint::BuiltinCombinedLateLintPass, rustc_interface::passes::analysis::{closure#5}::{closure#1}::{closure#2}::{closure#0}::{closure#0}>::{closure#0}, rustc_lint::late::check_crate<rustc_lint::BuiltinCombinedLateLintPass, rustc_interface::passes::analysis::{closure#5}::{closure#1}::{closure#2}::{closure#0}::{closure#0}>::{closure#1}, (), ()>
  16: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#5}::{closure#1}::{closure#2}::{closure#0}>
  17: <core::panic::unwind_safe::AssertUnwindSafe<rustc_interface::passes::analysis::{closure#5}::{closure#1}> as core::ops::function::FnOnce<()>>::call_once
  18: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#5}>
  19: rustc_interface::passes::analysis
  20: <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>>
  21: 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>>>
  22: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::analysis, rustc_query_impl::plumbing::QueryCtxt>
  23: <rustc_interface::passes::QueryContext>::enter::<rustc_driver::run_compiler::{closure#1}::{closure#2}::{closure#3}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>
  24: rustc_span::with_source_map::<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}::{closure#1}>
  25: <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.66 (69f9c33d 2022-12-12)

query stack during panic:
#0 [try_destructure_mir_constant] destructuring MIR constant
#1 [analysis] running analysis passes on this crate
end of query stack
jplatte commented 1 year ago

Can also be reproduced at https://github.com/ruma/ruma/tree/3dac70ead9417ed6dcb5a1668793345732cb954e, using cargo +nightly clippy -p ruma-common --features api --all-targets. My error is a bit different, pointing to dep-node: try_destructure_mir_constant_for_diagnostics (not just try_destructure_mir_constant).

thread 'rustc' panicked at 'forcing query with already existing `DepNode`
- query-key: (ByRef { alloc: ConstAllocation { .. }, offset: Size(0 bytes) }, ruma_common::api::Metadata)
- dep-node: try_destructure_mir_constant_for_diagnostics(6121f83035264236-725b058cea73bfc7)', /rustc/0e8e857b11f60a785aea24a84f280f6dad7a4d42/compiler/rustc_query_system/src/dep_graph/graph.rs:351:9
stack backtrace:
   0:     0x7f933a3641e1 - std::backtrace_rs::backtrace::libunwind::trace::h5f856d2c12cc6674
                               at /rustc/0e8e857b11f60a785aea24a84f280f6dad7a4d42/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7f933a3641e1 - std::backtrace_rs::backtrace::trace_unsynchronized::h8449257397d4b934
                               at /rustc/0e8e857b11f60a785aea24a84f280f6dad7a4d42/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f933a3641e1 - std::sys_common::backtrace::_print_fmt::hc0c3bab7873ac244
                               at /rustc/0e8e857b11f60a785aea24a84f280f6dad7a4d42/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7f933a3641e1 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h3787c35683fa4233
                               at /rustc/0e8e857b11f60a785aea24a84f280f6dad7a4d42/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7f933a3ca19c - core::fmt::rt::Argument::fmt::hae0c3aa49888479e
                               at /rustc/0e8e857b11f60a785aea24a84f280f6dad7a4d42/library/core/src/fmt/rt.rs:138:9
   5:     0x7f933a3ca19c - core::fmt::write::h0f833d45d904ecbb
                               at /rustc/0e8e857b11f60a785aea24a84f280f6dad7a4d42/library/core/src/fmt/mod.rs:1094:21
   6:     0x7f933a356b8e - std::io::Write::write_fmt::h6fd13360259fea22
                               at /rustc/0e8e857b11f60a785aea24a84f280f6dad7a4d42/library/std/src/io/mod.rs:1714:15
   7:     0x7f933a363ff5 - std::sys_common::backtrace::_print::h715af68f97f33bd8
                               at /rustc/0e8e857b11f60a785aea24a84f280f6dad7a4d42/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x7f933a363ff5 - std::sys_common::backtrace::print::h292b9e4a1d37eead
                               at /rustc/0e8e857b11f60a785aea24a84f280f6dad7a4d42/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x7f933a366da3 - std::panicking::default_hook::{{closure}}::hab7084ecbd5f7152
                               at /rustc/0e8e857b11f60a785aea24a84f280f6dad7a4d42/library/std/src/panicking.rs:269:22
  10:     0x7f933a366b34 - std::panicking::default_hook::hfbb8ba894af6577e
                               at /rustc/0e8e857b11f60a785aea24a84f280f6dad7a4d42/library/std/src/panicking.rs:288:9
  11:     0x7f933d62a43b - rustc_driver_impl[5bf76b44b01c010b]::install_ice_hook::{closure#0}
  12:     0x7f933a3675ce - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hc6428110305b5cbe
                               at /rustc/0e8e857b11f60a785aea24a84f280f6dad7a4d42/library/alloc/src/boxed.rs:2021:9
  13:     0x7f933a3675ce - std::panicking::rust_panic_with_hook::h8a8f983a7c12e89b
                               at /rustc/0e8e857b11f60a785aea24a84f280f6dad7a4d42/library/std/src/panicking.rs:709:13
  14:     0x7f933a367357 - std::panicking::begin_panic_handler::{{closure}}::hcbc604b49027ff32
                               at /rustc/0e8e857b11f60a785aea24a84f280f6dad7a4d42/library/std/src/panicking.rs:597:13
  15:     0x7f933a364646 - std::sys_common::backtrace::__rust_end_short_backtrace::hb85256103978a5ea
                               at /rustc/0e8e857b11f60a785aea24a84f280f6dad7a4d42/library/std/src/sys_common/backtrace.rs:151:18
  16:     0x7f933a3670a2 - rust_begin_unwind
                               at /rustc/0e8e857b11f60a785aea24a84f280f6dad7a4d42/library/std/src/panicking.rs:593:5
  17:     0x7f933a3c6543 - core::panicking::panic_fmt::h3cc36a41bb894309
                               at /rustc/0e8e857b11f60a785aea24a84f280f6dad7a4d42/library/core/src/panicking.rs:67:14
  18:     0x7f933df3cf46 - rustc_query_system[95ed59712a59403e]::query::plumbing::try_execute_query::<rustc_query_impl[2a0ca4be8ec05b8b]::DynamicConfig<rustc_query_system[95ed59712a59403e]::query::caches::DefaultCache<(rustc_middle[835d091ebc4d05d9]::mir::interpret::value::ConstValue, rustc_middle[835d091ebc4d05d9]::ty::Ty), rustc_middle[835d091ebc4d05d9]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[2a0ca4be8ec05b8b]::plumbing::QueryCtxt, true>
  19:     0x7f933df9ede8 - rustc_query_impl[2a0ca4be8ec05b8b]::query_impl::try_destructure_mir_constant_for_diagnostics::get_query_incr::__rust_end_short_backtrace
  20:     0x5558d16927db - clippy_utils[79add9ae7352ed00]::consts::field_of_struct
  21:     0x5558d1690cb3 - <clippy_utils[79add9ae7352ed00]::consts::ConstEvalLateContext>::expr
  22:     0x5558d168f84a - clippy_utils[79add9ae7352ed00]::consts::constant
  23:     0x5558d124ca90 - clippy_lints[1b225c560c3b2266]::operators::bit_mask::check
  24:     0x5558d14f07d5 - <clippy_lints[1b225c560c3b2266]::operators::Operators as rustc_lint[d5d84509571d3683]::passes::LateLintPass>::check_expr
  25:     0x7f933da75526 - <rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass as rustc_lint[d5d84509571d3683]::passes::LateLintPass>::check_expr
  26:     0x7f933da19cf6 - <rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass>>::with_lint_attrs::<<rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass> as rustc_hir[9bd7153587c508c5]::intravisit::Visitor>::visit_expr::{closure#0}::{closure#0}>
  27:     0x7f933da1c94c - <rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass> as rustc_hir[9bd7153587c508c5]::intravisit::Visitor>::visit_expr
  28:     0x7f933da16ee9 - rustc_hir[9bd7153587c508c5]::intravisit::walk_expr::<rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass>>
  29:     0x7f933da19d01 - <rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass>>::with_lint_attrs::<<rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass> as rustc_hir[9bd7153587c508c5]::intravisit::Visitor>::visit_expr::{closure#0}::{closure#0}>
  30:     0x7f933da1c94c - <rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass> as rustc_hir[9bd7153587c508c5]::intravisit::Visitor>::visit_expr
  31:     0x7f933da19d01 - <rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass>>::with_lint_attrs::<<rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass> as rustc_hir[9bd7153587c508c5]::intravisit::Visitor>::visit_expr::{closure#0}::{closure#0}>
  32:     0x7f933da1c94c - <rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass> as rustc_hir[9bd7153587c508c5]::intravisit::Visitor>::visit_expr
  33:     0x7f933da19d01 - <rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass>>::with_lint_attrs::<<rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass> as rustc_hir[9bd7153587c508c5]::intravisit::Visitor>::visit_expr::{closure#0}::{closure#0}>
  34:     0x7f933da1c94c - <rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass> as rustc_hir[9bd7153587c508c5]::intravisit::Visitor>::visit_expr
  35:     0x7f933da16efe - rustc_hir[9bd7153587c508c5]::intravisit::walk_expr::<rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass>>
  36:     0x7f933da19d01 - <rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass>>::with_lint_attrs::<<rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass> as rustc_hir[9bd7153587c508c5]::intravisit::Visitor>::visit_expr::{closure#0}::{closure#0}>
  37:     0x7f933da1c94c - <rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass> as rustc_hir[9bd7153587c508c5]::intravisit::Visitor>::visit_expr
  38:     0x7f933da1565b - rustc_hir[9bd7153587c508c5]::intravisit::walk_block::<rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass>>
  39:     0x7f933da1ca59 - <rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass> as rustc_hir[9bd7153587c508c5]::intravisit::Visitor>::visit_block
  40:     0x7f933da19d01 - <rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass>>::with_lint_attrs::<<rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass> as rustc_hir[9bd7153587c508c5]::intravisit::Visitor>::visit_expr::{closure#0}::{closure#0}>
  41:     0x7f933da1c94c - <rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass> as rustc_hir[9bd7153587c508c5]::intravisit::Visitor>::visit_expr
  42:     0x7f933da1cd9a - <rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass> as rustc_hir[9bd7153587c508c5]::intravisit::Visitor>::visit_nested_body
  43:     0x7f933da1cf30 - <rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass> as rustc_hir[9bd7153587c508c5]::intravisit::Visitor>::visit_fn
  44:     0x7f933da15b8c - rustc_hir[9bd7153587c508c5]::intravisit::walk_impl_item::<rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass>>
  45:     0x7f933da1d749 - <rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass> as rustc_hir[9bd7153587c508c5]::intravisit::Visitor>::visit_nested_impl_item
  46:     0x7f933da17333 - rustc_hir[9bd7153587c508c5]::intravisit::walk_item::<rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass>>
  47:     0x7f933da1d4ac - <rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass> as rustc_hir[9bd7153587c508c5]::intravisit::Visitor>::visit_nested_item
  48:     0x7f933da16a58 - rustc_hir[9bd7153587c508c5]::intravisit::walk_mod::<rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass>>
  49:     0x7f933da1d4ac - <rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass> as rustc_hir[9bd7153587c508c5]::intravisit::Visitor>::visit_nested_item
  50:     0x7f933da16a58 - rustc_hir[9bd7153587c508c5]::intravisit::walk_mod::<rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass>>
  51:     0x7f933da1d4ac - <rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass> as rustc_hir[9bd7153587c508c5]::intravisit::Visitor>::visit_nested_item
  52:     0x7f933da16a58 - rustc_hir[9bd7153587c508c5]::intravisit::walk_mod::<rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass>>
  53:     0x7f933da1d4ac - <rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass> as rustc_hir[9bd7153587c508c5]::intravisit::Visitor>::visit_nested_item
  54:     0x7f933da16a58 - rustc_hir[9bd7153587c508c5]::intravisit::walk_mod::<rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass>>
  55:     0x7f933da1d4ac - <rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass> as rustc_hir[9bd7153587c508c5]::intravisit::Visitor>::visit_nested_item
  56:     0x7f933da16a58 - rustc_hir[9bd7153587c508c5]::intravisit::walk_mod::<rustc_lint[d5d84509571d3683]::late::LateContextAndPass<rustc_lint[d5d84509571d3683]::late::RuntimeCombinedLateLintPass>>
  57:     0x7f933cc39a25 - <rustc_session[2927e3ab783c954a]::session::Session>::time::<(), rustc_lint[d5d84509571d3683]::late::check_crate<rustc_lint[d5d84509571d3683]::BuiltinCombinedLateLintPass, rustc_interface[950bb6185283f172]::passes::analysis::{closure#5}::{closure#1}::{closure#2}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}>
  58:     0x7f933cc38ad3 - <rustc_session[2927e3ab783c954a]::session::Session>::time::<(), rustc_interface[950bb6185283f172]::passes::analysis::{closure#5}::{closure#1}::{closure#2}::{closure#0}>
  59:     0x7f933cc3860b - <core[ef917bd033b821fa]::panic::unwind_safe::AssertUnwindSafe<rustc_interface[950bb6185283f172]::passes::analysis::{closure#5}::{closure#1}> as core[ef917bd033b821fa]::ops::function::FnOnce<()>>::call_once
  60:     0x7f933ca4ceb8 - <rustc_session[2927e3ab783c954a]::session::Session>::time::<(), rustc_interface[950bb6185283f172]::passes::analysis::{closure#5}>
  61:     0x7f933ca49317 - rustc_interface[950bb6185283f172]::passes::analysis
  62:     0x7f933caabf2a - rustc_query_impl[2a0ca4be8ec05b8b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[2a0ca4be8ec05b8b]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[835d091ebc4d05d9]::query::erase::Erased<[u8; 1usize]>>
  63:     0x7f933caabf19 - <rustc_query_impl[2a0ca4be8ec05b8b]::query_impl::analysis::dynamic_query::{closure#2} as core[ef917bd033b821fa]::ops::function::FnOnce<(rustc_middle[835d091ebc4d05d9]::ty::context::TyCtxt, ())>>::call_once
  64:     0x7f933cdbc49f - rustc_query_system[95ed59712a59403e]::query::plumbing::try_execute_query::<rustc_query_impl[2a0ca4be8ec05b8b]::DynamicConfig<rustc_query_system[95ed59712a59403e]::query::caches::SingleCache<rustc_middle[835d091ebc4d05d9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[2a0ca4be8ec05b8b]::plumbing::QueryCtxt, true>
  65:     0x7f933cdbc05e - rustc_query_impl[2a0ca4be8ec05b8b]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
  66:     0x7f933c8fbe85 - <rustc_middle[835d091ebc4d05d9]::ty::context::GlobalCtxt>::enter::<rustc_driver_impl[5bf76b44b01c010b]::run_compiler::{closure#1}::{closure#2}::{closure#4}, core[ef917bd033b821fa]::result::Result<(), rustc_span[a69db53e102135]::ErrorGuaranteed>>
  67:     0x7f933c8fb4b2 - <rustc_interface[950bb6185283f172]::interface::Compiler>::enter::<rustc_driver_impl[5bf76b44b01c010b]::run_compiler::{closure#1}::{closure#2}, core[ef917bd033b821fa]::result::Result<core[ef917bd033b821fa]::option::Option<rustc_interface[950bb6185283f172]::queries::Linker>, rustc_span[a69db53e102135]::ErrorGuaranteed>>
  68:     0x7f933c8f4825 - rustc_span[a69db53e102135]::set_source_map::<core[ef917bd033b821fa]::result::Result<(), rustc_span[a69db53e102135]::ErrorGuaranteed>, rustc_interface[950bb6185283f172]::interface::run_compiler<core[ef917bd033b821fa]::result::Result<(), rustc_span[a69db53e102135]::ErrorGuaranteed>, rustc_driver_impl[5bf76b44b01c010b]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
  69:     0x7f933c8f4296 - <scoped_tls[af683b2dcd27050]::ScopedKey<rustc_span[a69db53e102135]::SessionGlobals>>::set::<rustc_interface[950bb6185283f172]::interface::run_compiler<core[ef917bd033b821fa]::result::Result<(), rustc_span[a69db53e102135]::ErrorGuaranteed>, rustc_driver_impl[5bf76b44b01c010b]::run_compiler::{closure#1}>::{closure#0}, core[ef917bd033b821fa]::result::Result<(), rustc_span[a69db53e102135]::ErrorGuaranteed>>
  70:     0x7f933c8f385c - std[c0adc0b90f4efda2]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[950bb6185283f172]::util::run_in_thread_pool_with_globals<rustc_interface[950bb6185283f172]::interface::run_compiler<core[ef917bd033b821fa]::result::Result<(), rustc_span[a69db53e102135]::ErrorGuaranteed>, rustc_driver_impl[5bf76b44b01c010b]::run_compiler::{closure#1}>::{closure#0}, core[ef917bd033b821fa]::result::Result<(), rustc_span[a69db53e102135]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[ef917bd033b821fa]::result::Result<(), rustc_span[a69db53e102135]::ErrorGuaranteed>>
  71:     0x7f933c8f361e - <<std[c0adc0b90f4efda2]::thread::Builder>::spawn_unchecked_<rustc_interface[950bb6185283f172]::util::run_in_thread_pool_with_globals<rustc_interface[950bb6185283f172]::interface::run_compiler<core[ef917bd033b821fa]::result::Result<(), rustc_span[a69db53e102135]::ErrorGuaranteed>, rustc_driver_impl[5bf76b44b01c010b]::run_compiler::{closure#1}>::{closure#0}, core[ef917bd033b821fa]::result::Result<(), rustc_span[a69db53e102135]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[ef917bd033b821fa]::result::Result<(), rustc_span[a69db53e102135]::ErrorGuaranteed>>::{closure#1} as core[ef917bd033b821fa]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  72:     0x7f933a371c55 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hee3992ac1361b768
                               at /rustc/0e8e857b11f60a785aea24a84f280f6dad7a4d42/library/alloc/src/boxed.rs:2007:9
  73:     0x7f933a371c55 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h98eb33f4039b4e2e
                               at /rustc/0e8e857b11f60a785aea24a84f280f6dad7a4d42/library/alloc/src/boxed.rs:2007:9
  74:     0x7f933a371c55 - std::sys::unix::thread::Thread::new::thread_start::h4a5bbbf722280c2f
                               at /rustc/0e8e857b11f60a785aea24a84f280f6dad7a4d42/library/std/src/sys/unix/thread.rs:108:17
  75:     0x7f9339fed44b - <unknown>
  76:     0x7f933a070e40 - <unknown>
  77:                0x0 - <unknown>

error: 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: rustc 1.73.0-nightly (0e8e857b1 2023-07-16) running on x86_64-unknown-linux-gnu

note: compiler flags: -C embed-bitcode=no -C linker=clang -C incremental=[REDACTED] -C link-arg=-fuse-ld=mold

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

query stack during panic:
#0 [try_destructure_mir_constant_for_diagnostics] destructuring MIR constant
#1 [analysis] running analysis passes on this crate
end of query stack
note: Clippy version: clippy 0.1.72 (0e8e857 2023-07-16)