Repository: rust
Issue: Rustc v1.70 nightly panics unexpectedly
Labels: I-ICE,T-compiler,C-bug,S-needs-repro

<!--
Thank you for filing a bug report! 🐛 Please provide a short summary of the bug,
along with any information you feel relevant to replicating the bug.
-->

I tried this code:
I was in the process of developing a somewhat complicated macro to derive `clap::Parser` on a generic type, and I encountered an unexpected panic in Rustc. The full code to reproduce the panic is here: https://github.com/Sovereign-Labs/sovereign-sdk/pull/423/commits/5935c6727e6f347f5f42fb4463e7595971799e01. To reproduce...
1. `git clone https://github.com/Sovereign-Labs/sovereign-sdk.git && cd sovereign-sdk` 
2. `git checkout 5935c6727e6f347f5f42fb4463e7595971799e01`
3. `cargo check`

I expected to see this happen: *explanation*

The code in question is almost certainly not correct, but it should have produced an error rather than a panic. 

Instead, this happened: *explanation*

```
error[E0220]: associated type `Address` not found for `C`
  --> module-system/module-implementations/sov-bank/src/call.rs:33:28
   |
33 |         minter_address: C::Address,
   |                            ^^^^^^^ associated type `Address` not found

error[E0220]: associated type `Address` not found for `C`
  --> module-system/module-implementations/sov-bank/src/call.rs:35:36
   |
35 |         authorized_minters: Vec<C::Address>,
   |                                    ^^^^^^^ associated type `Address` not found

error[E0220]: associated type `Address` not found for `C`
  --> module-system/module-implementations/sov-bank/src/call.rs:41:16
   |
41 |         to: C::Address,
   |                ^^^^^^^ associated type `Address` not found

error[E0220]: associated type `Address` not found for `C`
  --> module-system/module-implementations/sov-bank/src/call.rs:57:28
   |
57 |         minter_address: C::Address,
   |                            ^^^^^^^ associated type `Address` not found

error[E0220]: associated type `Address` not found for `C`
  --> module-system/module-implementations/sov-bank/src/call.rs:63:27
   |
63 |         token_address: C::Address,
   |                           ^^^^^^^ associated type `Address` not found

For more information about this error, try `rustc --explain E0220`.
error: could not compile `sov-bank` due to 5 previous errors
warning: build failed, waiting for other jobs to finish...
error: could not compile `sov-bank` due to 5 previous errors
thread 'rustc' panicked at 'forcing query with already existing `DepNode`
- query-key: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }], value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as std::marker::Sync>, polarity:Positive), []), Binder(OutlivesPredicate(ReLateBound(DebruijnIndex(1), BoundRegion { var: 0, kind: BrAnon(0, None) }), ReLateBound(DebruijnIndex(1), BoundRegion { var: 1, kind: BrAnon(1, None) })), []), Binder(TraitPredicate(<Self as query::ValueSetterRpcClient<C>>, polarity:Positive), []), Binder(TraitPredicate(<C as std::marker::Sync>, polarity:Positive), []), Binder(TraitPredicate(<C as std::marker::Send>, polarity:Positive), []), Binder(TraitPredicate(<C as sov_modules_api::Context>, polarity:Positive), []), Binder(TraitPredicate(<C as call::_::_serde::de::DeserializeOwned>, polarity:Positive), []), Binder(TraitPredicate(<C as call::_::_serde::Deserialize<'de>>, polarity:Positive), [Region(BrNamed(DefId(24:1440 ~ serde[7c7f]::de::DeserializeOwned::'de), 'de))]), Binder(TraitPredicate(<C as call::_::_serde::Serialize>, polarity:Positive), []), Binder(TraitPredicate(<C as std::cmp::PartialEq>, polarity:Positive), []), Binder(TraitPredicate(<C as std::fmt::Debug>, polarity:Positive), []), Binder(TraitPredicate(<C as std::clone::Clone>, polarity:Positive), []), Binder(TraitPredicate(<C as sov_modules_api::Spec>, polarity:Positive), []), Binder(TraitPredicate(<C as std::marker::Sized>, polarity:Positive), []), Binder(TraitPredicate(<Self as jsonrpsee::jsonrpsee_core::client::ClientT>, polarity:Positive), []), Binder(OutlivesPredicate(Self, ReLateBound(DebruijnIndex(1), BoundRegion { var: 1, kind: BrAnon(1, None) })), []), Binder(OutlivesPredicate(C, ReStatic), [])], reveal: UserFacing, constness: NotConst }, value: [async block@module-system/module-implementations/examples/sov-value-setter/src/query.rs:11:1: 11:54] } }
- dep-node: dropck_outlives(7ccf0ccc180b24d0-180219d9f03062cc)', /rustc/7820b62d20bc548096d4632a3487987308cb4b5d/compiler/rustc_query_system/src/dep_graph/graph.rs:319:9
stack backtrace:
thread 'rustc' panicked at 'forcing query with already existing `DepNode`
- query-key: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }], value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as std::marker::Sync>, polarity:Positive), []), Binder(OutlivesPredicate(ReLateBound(DebruijnIndex(1), BoundRegion { var: 0, kind: BrAnon(0, None) }), ReLateBound(DebruijnIndex(1), BoundRegion { var: 1, kind: BrAnon(1, None) })), []), Binder(TraitPredicate(<Self as query::AccountsRpcClient<C>>, polarity:Positive), []), Binder(TraitPredicate(<C as call::_::_serde::Serialize>, polarity:Positive), []), Binder(TraitPredicate(<C as std::marker::Sync>, polarity:Positive), []), Binder(TraitPredicate(<C as std::marker::Send>, polarity:Positive), []), Binder(TraitPredicate(<C as sov_modules_api::Context>, polarity:Positive), []), Binder(TraitPredicate(<C as call::_::_serde::de::DeserializeOwned>, polarity:Positive), []), Binder(TraitPredicate(<C as call::_::_serde::Deserialize<'de>>, polarity:Positive), [Region(BrNamed(DefId(23:1440 ~ serde[7c7f]::de::DeserializeOwned::'de), 'de))]), Binder(TraitPredicate(<C as std::cmp::PartialEq>, polarity:Positive), []), Binder(TraitPredicate(<C as std::fmt::Debug>, polarity:Positive), []), Binder(TraitPredicate(<C as std::clone::Clone>, polarity:Positive), []), Binder(TraitPredicate(<C as sov_modules_api::Spec>, polarity:Positive), []), Binder(TraitPredicate(<C as std::marker::Sized>, polarity:Positive), []), Binder(TraitPredicate(<Self as jsonrpsee::jsonrpsee_core::client::ClientT>, polarity:Positive), []), Binder(OutlivesPredicate(Self, ReLateBound(DebruijnIndex(1), BoundRegion { var: 1, kind: BrAnon(1, None) })), []), Binder(OutlivesPredicate(C, ReStatic), [])], reveal: UserFacing, constness: NotConst }, value: Normalize { value: [async block@module-system/module-implementations/sov-accounts/src/query.rs:13:1: 13:51] } } }
- dep-node: type_op_normalize_ty(f6bb5394a8f973c-61a6d7d0c9bdccd3)', /rustc/7820b62d20bc548096d4632a3487987308cb4b5d/compiler/rustc_query_system/src/dep_graph/graph.rs:319:9
stack backtrace:
thread 'rustc' panicked at 'forcing query with already existing `DepNode`
- query-key: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }], value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as std::marker::Sync>, polarity:Positive), []), Binder(OutlivesPredicate(ReLateBound(DebruijnIndex(1), BoundRegion { var: 0, kind: BrAnon(0, None) }), ReLateBound(DebruijnIndex(1), BoundRegion { var: 1, kind: BrAnon(1, None) })), []), Binder(TraitPredicate(<Self as query::ElectionRpcClient<C>>, polarity:Positive), []), Binder(TraitPredicate(<C as std::marker::Sync>, polarity:Positive), []), Binder(TraitPredicate(<C as std::marker::Send>, polarity:Positive), []), Binder(TraitPredicate(<C as sov_modules_api::Context>, polarity:Positive), []), Binder(TraitPredicate(<C as call::_::_serde::de::DeserializeOwned>, polarity:Positive), []), Binder(TraitPredicate(<C as call::_::_serde::Deserialize<'de>>, polarity:Positive), [Region(BrNamed(DefId(24:1440 ~ serde[7c7f]::de::DeserializeOwned::'de), 'de))]), Binder(TraitPredicate(<C as call::_::_serde::Serialize>, polarity:Positive), []), Binder(TraitPredicate(<C as std::cmp::PartialEq>, polarity:Positive), []), Binder(TraitPredicate(<C as std::fmt::Debug>, polarity:Positive), []), Binder(TraitPredicate(<C as std::clone::Clone>, polarity:Positive), []), Binder(TraitPredicate(<C as sov_modules_api::Spec>, polarity:Positive), []), Binder(TraitPredicate(<C as std::marker::Sized>, polarity:Positive), []), Binder(TraitPredicate(<Self as jsonrpsee::jsonrpsee_core::client::ClientT>, polarity:Positive), []), Binder(OutlivesPredicate(Self, ReLateBound(DebruijnIndex(1), BoundRegion { var: 1, kind: BrAnon(1, None) })), []), Binder(OutlivesPredicate(C, ReStatic), [])], reveal: UserFacing, constness: NotConst }, value: [async block@module-system/module-implementations/examples/sov-election/src/query.rs:18:1: 18:51] } }
- dep-node: dropck_outlives(d6b95b7bf90fe83d-5f2359250d627e38)', /rustc/7820b62d20bc548096d4632a3487987308cb4b5d/compiler/rustc_query_system/src/dep_graph/graph.rs:319:9
stack backtrace:
   0: _rust_begin_unwind
   0: _rust_begin_unwind
   1: core::panicking::panic_fmt
   2: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::dropck_outlives, rustc_query_impl::plumbing::QueryCtxt>
   3: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::dropck_outlives
   0: _rust_begin_unwind
   1: core::panicking::panic_fmt
   2: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::dropck_outlives, rustc_query_impl::plumbing::QueryCtxt>
   3: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::dropck_outlives
   1: core::panicking::panic_fmt
   2: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::type_op_normalize_ty, rustc_query_impl::plumbing::QueryCtxt>
   3: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::type_op_normalize_ty
   4: <rustc_middle::ty::Ty as rustc_trait_selection::traits::query::type_op::normalize::Normalizable>::type_op_method
   4: <rustc_trait_selection::traits::query::type_op::outlives::DropckOutlives as rustc_trait_selection::traits::query::type_op::QueryTypeOp>::perform_query
   4: <rustc_trait_selection::traits::query::type_op::outlives::DropckOutlives as rustc_trait_selection::traits::query::type_op::QueryTypeOp>::perform_query
   5: <rustc_middle::traits::query::type_op::Normalize<rustc_middle::ty::Ty> as rustc_trait_selection::traits::query::type_op::QueryTypeOp>::fully_perform_into
   6: <rustc_middle::ty::ParamEnvAnd<rustc_middle::traits::query::type_op::Normalize<rustc_middle::ty::Ty>> as rustc_trait_selection::traits::query::type_op::TypeOp>::fully_perform
   5: <rustc_middle::ty::ParamEnvAnd<rustc_trait_selection::traits::query::type_op::outlives::DropckOutlives> as rustc_trait_selection::traits::query::type_op::TypeOp>::fully_perform
   5: <rustc_middle::ty::ParamEnvAnd<rustc_trait_selection::traits::query::type_op::outlives::DropckOutlives> as rustc_trait_selection::traits::query::type_op::TypeOp>::fully_perform
   7: rustc_borrowck::type_check::free_region_relations::create
   6: rustc_borrowck::type_check::liveness::trace::trace
   6: rustc_borrowck::type_check::liveness::trace::trace
   8: rustc_borrowck::type_check::type_check
   7: rustc_borrowck::type_check::liveness::generate
   8: rustc_borrowck::type_check::type_check
   9: rustc_borrowck::nll::compute_regions
   9: rustc_borrowck::nll::compute_regions
   7: rustc_borrowck::type_check::liveness::generate
   8: rustc_borrowck::type_check::type_check
   9: rustc_borrowck::nll::compute_regions
  10: rustc_borrowck::do_mir_borrowck
  10: rustc_borrowck::do_mir_borrowck
  11: rustc_borrowck::mir_borrowck
  11: rustc_borrowck::mir_borrowck
  10: rustc_borrowck::do_mir_borrowck
  12: <rustc_borrowck::provide::{closure#0} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
  12: <rustc_borrowck::provide::{closure#0} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
  11: rustc_borrowck::mir_borrowck
  13: <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_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::mir::query::BorrowCheckResult>::{closure#0}, &rustc_middle::mir::query::BorrowCheckResult>
  14: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::mir_borrowck, rustc_query_impl::plumbing::QueryCtxt>
  15: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::mir_borrowck
  12: <rustc_borrowck::provide::{closure#0} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
  13: <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_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::mir::query::BorrowCheckResult>::{closure#0}, &rustc_middle::mir::query::BorrowCheckResult>
  14: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::mir_borrowck, rustc_query_impl::plumbing::QueryCtxt>
  15: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::mir_borrowck
  13: <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_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::mir::query::BorrowCheckResult>::{closure#0}, &rustc_middle::mir::query::BorrowCheckResult>
  14: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::mir_borrowck, rustc_query_impl::plumbing::QueryCtxt>
  15: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::mir_borrowck
  16: <rustc_borrowck::type_check::TypeChecker>::prove_closure_bounds
  17: <rustc_borrowck::type_check::TypeChecker>::check_rvalue
  18: <rustc_borrowck::type_check::TypeChecker>::typeck_mir
  19: rustc_borrowck::type_check::type_check
  20: rustc_borrowck::nll::compute_regions
  21: rustc_borrowck::do_mir_borrowck
  22: rustc_borrowck::mir_borrowck
  23: <rustc_borrowck::provide::{closure#0} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
  24: <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_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::mir::query::BorrowCheckResult>::{closure#0}, &rustc_middle::mir::query::BorrowCheckResult>
  25: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::mir_borrowck, rustc_query_impl::plumbing::QueryCtxt>
  26: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::mir_borrowck
  27: rustc_data_structures::sync::par_for_each_in::<&[rustc_span::def_id::LocalDefId], <rustc_middle::hir::map::Map>::par_body_owners<rustc_interface::passes::analysis::{closure#2}::{closure#0}>::{closure#0}>
  16: rustc_data_structures::sync::par_for_each_in::<&[rustc_span::def_id::LocalDefId], <rustc_middle::hir::map::Map>::par_body_owners<rustc_interface::passes::analysis::{closure#2}::{closure#0}>::{closure#0}>
  16: rustc_data_structures::sync::par_for_each_in::<&[rustc_span::def_id::LocalDefId], <rustc_middle::hir::map::Map>::par_body_owners<rustc_interface::passes::analysis::{closure#2}::{closure#0}>::{closure#0}>
  17: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#2}>
  28: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#2}>
  18: rustc_interface::passes::analysis
  19: <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_query_impl::plumbing::QueryCtxt, (), core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
  20: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::analysis, rustc_query_impl::plumbing::QueryCtxt>
  29: rustc_interface::passes::analysis
  21: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::analysis
  17: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#2}>
  18: rustc_interface::passes::analysis
  19: <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_query_impl::plumbing::QueryCtxt, (), core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
  20: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::analysis, rustc_query_impl::plumbing::QueryCtxt>
  21: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::analysis
  22: <rustc_middle::ty::context::GlobalCtxt>::enter::<rustc_driver_impl::run_compiler::{closure#1}::{closure#2}::{closure#4}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
  30: <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_query_impl::plumbing::QueryCtxt, (), core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
  31: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::analysis, rustc_query_impl::plumbing::QueryCtxt>
  23: rustc_span::with_source_map::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
  32: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::analysis
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

  22: <rustc_middle::ty::context::GlobalCtxt>::enter::<rustc_driver_impl::run_compiler::{closure#1}::{closure#2}::{closure#4}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
  33: <rustc_middle::ty::context::GlobalCtxt>::enter::<rustc_driver_impl::run_compiler::{closure#1}::{closure#2}::{closure#4}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
  34: rustc_span::with_source_map::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

  23: rustc_span::with_source_map::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

error: the compiler unexpectedly panicked. this is a bug.
error: the compiler unexpectedly panicked. this is a bug.
error: the compiler unexpectedly panicked. this is a bug.


note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md


note: rustc 1.70.0-nightly (7820b62d2 2023-03-05) running on aarch64-apple-darwin

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: compiler flags: --crate-type lib -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C incremental=[REDACTED]

note: some of the compiler flags provided by cargo are hidden

query stack during panic:

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.70.0-nightly (7820b62d2 2023-03-05) running on aarch64-apple-darwin

note: rustc 1.70.0-nightly (7820b62d2 2023-03-05) running on aarch64-apple-darwin

note: compiler flags: --crate-type lib -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C incremental=[REDACTED]


note: some of the compiler flags provided by cargo are hidden
note: compiler flags: --crate-type lib -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C incremental=[REDACTED]

query stack during panic:

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [type_op_normalize_ty] normalizing `[async block@module-system/module-implementations/sov-accounts/src/query.rs:13:1: 13:51]`
#0 [dropck_outlives] computing dropck types for `[async block@module-system/module-implementations/examples/sov-value-setter/src/query.rs:11:1: 11:54]`
#1 [mir_borrowck] borrow-checking `query::ValueSetterRpcClient::query_value`
#0 [dropck_outlives] computing dropck types for `[async block@module-system/module-implementations/examples/sov-election/src/query.rs:18:1: 18:51]`
#2 [analysis] running analysis passes on this crate
end of query stack
#1 [mir_borrowck] borrow-checking `query::ElectionRpcClient::results`
#1 [mir_borrowck] borrow-checking `query::AccountsRpcClient::get_account::{closure#0}`
#2 [analysis] running analysis passes on this crate
end of query stack
#2 [mir_borrowck] borrow-checking `query::AccountsRpcClient::get_account`
#3 [analysis] running analysis passes on this crate
end of query stack
thread 'rustc' panicked at 'forcing query with already existing `DepNode`
- query-key: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }], value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as std::marker::Sync>, polarity:Positive), []), Binder(OutlivesPredicate(ReLateBound(DebruijnIndex(1), BoundRegion { var: 0, kind: BrAnon(0, None) }), ReLateBound(DebruijnIndex(1), BoundRegion { var: 1, kind: BrAnon(1, None) })), []), Binder(TraitPredicate(<Self as query::ValueSetterRpcClient<C>>, polarity:Positive), []), Binder(TraitPredicate(<C as std::marker::Sync>, polarity:Positive), []), Binder(TraitPredicate(<C as std::marker::Send>, polarity:Positive), []), Binder(TraitPredicate(<C as sov_modules_api::Context>, polarity:Positive), []), Binder(TraitPredicate(<C as call::_::_serde::de::DeserializeOwned>, polarity:Positive), []), Binder(TraitPredicate(<C as call::_::_serde::Deserialize<'de>>, polarity:Positive), [Region(BrNamed(DefId(24:1440 ~ serde[7c7f]::de::DeserializeOwned::'de), 'de))]), Binder(TraitPredicate(<C as call::_::_serde::Serialize>, polarity:Positive), []), Binder(TraitPredicate(<C as std::cmp::PartialEq>, polarity:Positive), []), Binder(TraitPredicate(<C as std::fmt::Debug>, polarity:Positive), []), Binder(TraitPredicate(<C as std::clone::Clone>, polarity:Positive), []), Binder(TraitPredicate(<C as sov_modules_api::Spec>, polarity:Positive), []), Binder(TraitPredicate(<C as std::marker::Sized>, polarity:Positive), []), Binder(TraitPredicate(<Self as jsonrpsee::jsonrpsee_core::client::ClientT>, polarity:Positive), []), Binder(OutlivesPredicate(Self, ReLateBound(DebruijnIndex(1), BoundRegion { var: 1, kind: BrAnon(1, None) })), []), Binder(OutlivesPredicate(C, ReStatic), [])], reveal: UserFacing, constness: NotConst }, value: [async block@module-system/module-implementations/examples/sov-value-setter/src/query.rs:11:1: 11:54] } }
- dep-node: dropck_outlives(87f6d64bdd0a8797-428a5194c5c83bee)', /rustc/7820b62d20bc548096d4632a3487987308cb4b5d/compiler/rustc_query_system/src/dep_graph/graph.rs:319:9
stack backtrace:
   0: _rust_begin_unwind
   1: core::panicking::panic_fmt
   2: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::dropck_outlives, rustc_query_impl::plumbing::QueryCtxt>
   3: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::dropck_outlives
   4: <rustc_trait_selection::traits::query::type_op::outlives::DropckOutlives as rustc_trait_selection::traits::query::type_op::QueryTypeOp>::perform_query
   5: <rustc_middle::ty::ParamEnvAnd<rustc_trait_selection::traits::query::type_op::outlives::DropckOutlives> as rustc_trait_selection::traits::query::type_op::TypeOp>::fully_perform
   6: rustc_borrowck::type_check::liveness::trace::trace
   7: rustc_borrowck::type_check::liveness::generate
   8: rustc_borrowck::type_check::type_check
   9: rustc_borrowck::nll::compute_regions
  10: rustc_borrowck::do_mir_borrowck
  11: rustc_borrowck::mir_borrowck
  12: <rustc_borrowck::provide::{closure#0} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
  13: <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_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::mir::query::BorrowCheckResult>::{closure#0}, &rustc_middle::mir::query::BorrowCheckResult>
  14: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::mir_borrowck, rustc_query_impl::plumbing::QueryCtxt>
  15: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::mir_borrowck
  16: rustc_data_structures::sync::par_for_each_in::<&[rustc_span::def_id::LocalDefId], <rustc_middle::hir::map::Map>::par_body_owners<rustc_interface::passes::analysis::{closure#2}::{closure#0}>::{closure#0}>
  17: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#2}>
thread 'rustc' panicked at 'forcing query with already existing `DepNode`
  18: rustc_interface::passes::analysis
  19: <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_query_impl::plumbing::QueryCtxt, (), core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
- query-key: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }], value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as std::marker::Sync>, polarity:Positive), []), Binder(OutlivesPredicate(ReLateBound(DebruijnIndex(1), BoundRegion { var: 0, kind: BrAnon(0, None) }), ReLateBound(DebruijnIndex(1), BoundRegion { var: 1, kind: BrAnon(1, None) })), []), Binder(TraitPredicate(<Self as query::AccountsRpcClient<C>>, polarity:Positive), []), Binder(TraitPredicate(<C as call::_::_serde::Serialize>, polarity:Positive), []), Binder(TraitPredicate(<C as std::marker::Sync>, polarity:Positive), []), Binder(TraitPredicate(<C as std::marker::Send>, polarity:Positive), []), Binder(TraitPredicate(<C as sov_modules_api::Context>, polarity:Positive), []), Binder(TraitPredicate(<C as call::_::_serde::de::DeserializeOwned>, polarity:Positive), []), Binder(TraitPredicate(<C as call::_::_serde::Deserialize<'de>>, polarity:Positive), [Region(BrNamed(DefId(23:1440 ~ serde[7c7f]::de::DeserializeOwned::'de), 'de))]), Binder(TraitPredicate(<C as std::cmp::PartialEq>, polarity:Positive), []), Binder(TraitPredicate(<C as std::fmt::Debug>, polarity:Positive), []), Binder(TraitPredicate(<C as std::clone::Clone>, polarity:Positive), []), Binder(TraitPredicate(<C as sov_modules_api::Spec>, polarity:Positive), []), Binder(TraitPredicate(<C as std::marker::Sized>, polarity:Positive), []), Binder(TraitPredicate(<Self as jsonrpsee::jsonrpsee_core::client::ClientT>, polarity:Positive), []), Binder(OutlivesPredicate(Self, ReLateBound(DebruijnIndex(1), BoundRegion { var: 1, kind: BrAnon(1, None) })), []), Binder(OutlivesPredicate(C, ReStatic), [])], reveal: UserFacing, constness: NotConst }, value: [async block@module-system/module-implementations/sov-accounts/src/query.rs:13:1: 13:51] } }
  20: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::analysis, rustc_query_impl::plumbing::QueryCtxt>
  21: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::analysis
  22: <rustc_middle::ty::context::GlobalCtxt>::enter::<rustc_driver_impl::run_compiler::{closure#1}::{closure#2}::{closure#4}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
- dep-node: dropck_outlives(7aeed422094d432e-35c152309d5fd570)', /rustc/7820b62d20bc548096d4632a3487987308cb4b5d/compiler/rustc_query_system/src/dep_graph/graph.rs:319:9
  23: rustc_span::with_source_map::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
stack backtrace:
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
   0: _rust_begin_unwind

   1: core::panicking::panic_fmt
   2: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::dropck_outlives, rustc_query_impl::plumbing::QueryCtxt>
   3: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::dropck_outlives
   4: <rustc_trait_selection::traits::query::type_op::outlives::DropckOutlives as rustc_trait_selection::traits::query::type_op::QueryTypeOp>::perform_query
   5: <rustc_middle::ty::ParamEnvAnd<rustc_trait_selection::traits::query::type_op::outlives::DropckOutlives> as rustc_trait_selection::traits::query::type_op::TypeOp>::fully_perform
   6: rustc_borrowck::type_check::liveness::trace::trace
   7: rustc_borrowck::type_check::liveness::generate
   8: rustc_borrowck::type_check::type_check
   9: rustc_borrowck::nll::compute_regions
  10: rustc_borrowck::do_mir_borrowck
  11: rustc_borrowck::mir_borrowck
  12: <rustc_borrowck::provide::{closure#0} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
  13: <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_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::mir::query::BorrowCheckResult>::{closure#0}, &rustc_middle::mir::query::BorrowCheckResult>
  14: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::mir_borrowck, rustc_query_impl::plumbing::QueryCtxt>
  15: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::mir_borrowck
  16: rustc_data_structures::sync::par_for_each_in::<&[rustc_span::def_id::LocalDefId], <rustc_middle::hir::map::Map>::par_body_owners<rustc_interface::passes::analysis::{closure#2}::{closure#0}>::{closure#0}>
  17: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#2}>
  18: rustc_interface::passes::analysis
  19: <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_query_impl::plumbing::QueryCtxt, (), core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
  20: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::analysis, rustc_query_impl::plumbing::QueryCtxt>
  21: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::analysis
  22: <rustc_middle::ty::context::GlobalCtxt>::enter::<rustc_driver_impl::run_compiler::{closure#1}::{closure#2}::{closure#4}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
  23: rustc_span::with_source_map::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
error: the compiler unexpectedly panicked. this is a bug.
thread 'rustc' panicked at 'forcing query with already existing `DepNode`

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.70.0-nightly (7820b62d2 2023-03-05) running on aarch64-apple-darwin

note: compiler flags: --crate-type lib -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C incremental=[REDACTED]

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [dropck_outlives] computing dropck types for `[async block@module-system/module-implementations/examples/sov-value-setter/src/query.rs:11:1: 11:54]`
#1 [mir_borrowck] borrow-checking `query::ValueSetterRpcClient::health`
#2 [analysis] running analysis passes on this crate
end of query stack
- query-key: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }], value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as std::marker::Sync>, polarity:Positive), []), Binder(OutlivesPredicate(ReLateBound(DebruijnIndex(1), BoundRegion { var: 0, kind: BrAnon(0, None) }), ReLateBound(DebruijnIndex(1), BoundRegion { var: 1, kind: BrAnon(1, None) })), []), Binder(TraitPredicate(<Self as query::ElectionRpcClient<C>>, polarity:Positive), []), Binder(TraitPredicate(<C as std::marker::Sync>, polarity:Positive), []), Binder(TraitPredicate(<C as std::marker::Send>, polarity:Positive), []), Binder(TraitPredicate(<C as sov_modules_api::Context>, polarity:Positive), []), Binder(TraitPredicate(<C as call::_::_serde::de::DeserializeOwned>, polarity:Positive), []), Binder(TraitPredicate(<C as call::_::_serde::Deserialize<'de>>, polarity:Positive), [Region(BrNamed(DefId(24:1440 ~ serde[7c7f]::de::DeserializeOwned::'de), 'de))]), Binder(TraitPredicate(<C as call::_::_serde::Serialize>, polarity:Positive), []), Binder(TraitPredicate(<C as std::cmp::PartialEq>, polarity:Positive), []), Binder(TraitPredicate(<C as std::fmt::Debug>, polarity:Positive), []), Binder(TraitPredicate(<C as std::clone::Clone>, polarity:Positive), []), Binder(TraitPredicate(<C as sov_modules_api::Spec>, polarity:Positive), []), Binder(TraitPredicate(<C as std::marker::Sized>, polarity:Positive), []), Binder(TraitPredicate(<Self as jsonrpsee::jsonrpsee_core::client::ClientT>, polarity:Positive), []), Binder(OutlivesPredicate(Self, ReLateBound(DebruijnIndex(1), BoundRegion { var: 1, kind: BrAnon(1, None) })), []), Binder(OutlivesPredicate(C, ReStatic), [])], reveal: UserFacing, constness: NotConst }, value: [async block@module-system/module-implementations/examples/sov-election/src/query.rs:18:1: 18:51] } }
- dep-node: dropck_outlives(efd0f0b5b5947967-953f697ac0885810)', /rustc/7820b62d20bc548096d4632a3487987308cb4b5d/compiler/rustc_query_system/src/dep_graph/graph.rs:319:9
stack backtrace:
   0: _rust_begin_unwind
   1: core::panicking::panic_fmt
   2: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::dropck_outlives, rustc_query_impl::plumbing::QueryCtxt>
   3: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::dropck_outlives
   4: <rustc_trait_selection::traits::query::type_op::outlives::DropckOutlives as rustc_trait_selection::traits::query::type_op::QueryTypeOp>::perform_query
   5: <rustc_middle::ty::ParamEnvAnd<rustc_trait_selection::traits::query::type_op::outlives::DropckOutlives> as rustc_trait_selection::traits::query::type_op::TypeOp>::fully_perform
   6: rustc_borrowck::type_check::liveness::trace::trace
   7: rustc_borrowck::type_check::liveness::generate
   8: rustc_borrowck::type_check::type_check
   9: rustc_borrowck::nll::compute_regions
  10: rustc_borrowck::do_mir_borrowck
  11: rustc_borrowck::mir_borrowck
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
  12: <rustc_borrowck::provide::{closure#0} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once

  13: <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_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::mir::query::BorrowCheckResult>::{closure#0}, &rustc_middle::mir::query::BorrowCheckResult>
error: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
  14: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::mir_borrowck, rustc_query_impl::plumbing::QueryCtxt>

note: rustc 1.70.0-nightly (7820b62d2 2023-03-05) running on aarch64-apple-darwin

  15: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::mir_borrowck
  16: rustc_data_structures::sync::par_for_each_in::<&[rustc_span::def_id::LocalDefId], <rustc_middle::hir::map::Map>::par_body_owners<rustc_interface::passes::analysis::{closure#2}::{closure#0}>::{closure#0}>
  17: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#2}>
  18: rustc_interface::passes::analysis
  19: <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_query_impl::plumbing::QueryCtxt, (), core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
  20: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::analysis, rustc_query_impl::plumbing::QueryCtxt>
  21: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::analysis
  22: <rustc_middle::ty::context::GlobalCtxt>::enter::<rustc_driver_impl::run_compiler::{closure#1}::{closure#2}::{closure#4}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
  23: rustc_span::with_source_map::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

note: compiler flags: --crate-type lib -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C incremental=[REDACTED]

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [dropck_outlives] computing dropck types for `[async block@module-system/module-implementations/sov-accounts/src/query.rs:13:1: 13:51]`
#1 [mir_borrowck] borrow-checking `query::AccountsRpcClient::health`
#2 [analysis] running analysis passes on this crate
end of query stack
error: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.70.0-nightly (7820b62d2 2023-03-05) running on aarch64-apple-darwin

note: compiler flags: --crate-type lib -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C incremental=[REDACTED]

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [dropck_outlives] computing dropck types for `[async block@module-system/module-implementations/examples/sov-election/src/query.rs:18:1: 18:51]`
#1 [mir_borrowck] borrow-checking `query::ElectionRpcClient::number_of_votes`
#2 [analysis] running analysis passes on this crate
end of query stack
thread 'rustc' panicked at 'forcing query with already existing `DepNode`
- query-key: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }], value: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [Binder(TraitPredicate(<Self as std::marker::Sync>, polarity:Positive), []), Binder(OutlivesPredicate(ReLateBound(DebruijnIndex(1), BoundRegion { var: 0, kind: BrAnon(0, None) }), ReLateBound(DebruijnIndex(1), BoundRegion { var: 1, kind: BrAnon(1, None) })), []), Binder(TraitPredicate(<Self as query::ElectionRpcClient<C>>, polarity:Positive), []), Binder(TraitPredicate(<C as std::marker::Sync>, polarity:Positive), []), Binder(TraitPredicate(<C as std::marker::Send>, polarity:Positive), []), Binder(TraitPredicate(<C as sov_modules_api::Context>, polarity:Positive), []), Binder(TraitPredicate(<C as call::_::_serde::de::DeserializeOwned>, polarity:Positive), []), Binder(TraitPredicate(<C as call::_::_serde::Deserialize<'de>>, polarity:Positive), [Region(BrNamed(DefId(24:1440 ~ serde[7c7f]::de::DeserializeOwned::'de), 'de))]), Binder(TraitPredicate(<C as call::_::_serde::Serialize>, polarity:Positive), []), Binder(TraitPredicate(<C as std::cmp::PartialEq>, polarity:Positive), []), Binder(TraitPredicate(<C as std::fmt::Debug>, polarity:Positive), []), Binder(TraitPredicate(<C as std::clone::Clone>, polarity:Positive), []), Binder(TraitPredicate(<C as sov_modules_api::Spec>, polarity:Positive), []), Binder(TraitPredicate(<C as std::marker::Sized>, polarity:Positive), []), Binder(TraitPredicate(<Self as jsonrpsee::jsonrpsee_core::client::ClientT>, polarity:Positive), []), Binder(OutlivesPredicate(Self, ReLateBound(DebruijnIndex(1), BoundRegion { var: 1, kind: BrAnon(1, None) })), []), Binder(OutlivesPredicate(C, ReStatic), [])], reveal: UserFacing, constness: NotConst }, value: [async block@module-system/module-implementations/examples/sov-election/src/query.rs:18:1: 18:51] } }
- dep-node: dropck_outlives(135854a5ea1d5842-ba289381b4a221d3)', /rustc/7820b62d20bc548096d4632a3487987308cb4b5d/compiler/rustc_query_system/src/dep_graph/graph.rs:319:9
stack backtrace:
   0: _rust_begin_unwind
   1: core::panicking::panic_fmt
   2: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::dropck_outlives, rustc_query_impl::plumbing::QueryCtxt>
   3: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::dropck_outlives
   4: <rustc_trait_selection::traits::query::type_op::outlives::DropckOutlives as rustc_trait_selection::traits::query::type_op::QueryTypeOp>::perform_query
   5: <rustc_middle::ty::ParamEnvAnd<rustc_trait_selection::traits::query::type_op::outlives::DropckOutlives> as rustc_trait_selection::traits::query::type_op::TypeOp>::fully_perform
   6: rustc_borrowck::type_check::liveness::trace::trace
   7: rustc_borrowck::type_check::liveness::generate
   8: rustc_borrowck::type_check::type_check
   9: rustc_borrowck::nll::compute_regions
  10: rustc_borrowck::do_mir_borrowck
  11: rustc_borrowck::mir_borrowck
  12: <rustc_borrowck::provide::{closure#0} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
  13: <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_query_impl::plumbing::QueryCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::mir::query::BorrowCheckResult>::{closure#0}, &rustc_middle::mir::query::BorrowCheckResult>
  14: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::mir_borrowck, rustc_query_impl::plumbing::QueryCtxt>
  15: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::mir_borrowck
  16: rustc_data_structures::sync::par_for_each_in::<&[rustc_span::def_id::LocalDefId], <rustc_middle::hir::map::Map>::par_body_owners<rustc_interface::passes::analysis::{closure#2}::{closure#0}>::{closure#0}>
  17: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#2}>
  18: rustc_interface::passes::analysis
  19: <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_query_impl::plumbing::QueryCtxt, (), core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
  20: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::analysis, rustc_query_impl::plumbing::QueryCtxt>
  21: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::analysis
  22: <rustc_middle::ty::context::GlobalCtxt>::enter::<rustc_driver_impl::run_compiler::{closure#1}::{closure#2}::{closure#4}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
  23: rustc_span::with_source_map::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

error: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.70.0-nightly (7820b62d2 2023-03-05) running on aarch64-apple-darwin

note: compiler flags: --crate-type lib -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C incremental=[REDACTED]

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [dropck_outlives] computing dropck types for `[async block@module-system/module-implementations/examples/sov-election/src/query.rs:18:1: 18:51]`
#1 [mir_borrowck] borrow-checking `query::ElectionRpcClient::health`
#2 [analysis] running analysis passes on this crate
end of query stack
error: could not compile `sov-accounts`
error: could not compile `sov-election`
error: could not compile `sov-value-setter`
```



### Meta
<!--
If you're using the stable version of the compiler, you should also check if the
bug also exists in the beta or nightly versions.
-->

`rustc --version --verbose`:
```
rustc 1.70.0-nightly (7820b62d2 2023-03-05)
binary: rustc
commit-hash: 7820b62d20bc548096d4632a3487987308cb4b5d
commit-date: 2023-03-05
host: aarch64-apple-darwin
release: 1.70.0-nightly
LLVM version: 15.0.7
```