Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

ICE: cannot relate bound region: '_#56r <= ReLateBound(DebruijnIndex(1), BoundRegion { ... } #110052

Closed
matthiaskrgr opened this issue Apr 7, 2023 · 1 comment · Fixed by #110195
Labels
C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ S-has-mcve Status: A Minimal Complete and Verifiable Example has been found for this issue T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@matthiaskrgr
Copy link
Member

Code

#![crate_type="lib"]
impl<I, V> Validator<I> for All<V>
where
    for<'iter> Validator<<&'iter I>::Item>: ,
    I: 'static,
{}

pub trait Validator<T> {}

Meta

rustc --version --verbose:

rustc 1.70.0-nightly (28a29282f 2023-04-06)
binary: rustc
commit-hash: 28a29282f6dde2e4aba6e1e4cfea5c9430a00217
commit-date: 2023-04-06
host: x86_64-unknown-linux-gnu
release: 1.70.0-nightly
LLVM version: 16.0.2

Error output

error[E0412]: cannot find type `All` in this scope
 --> treereduce.out:2:29
  |
2 | impl<I, V> Validator<I> for All<V>
  |                             ^^^ not found in this scope

warning: trait objects without an explicit `dyn` are deprecated
 --> treereduce.out:4:16
  |
4 |     for<'iter> Validator<<&'iter I>::Item>: ,
  |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |
  = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
  = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
  = note: `#[warn(bare_trait_objects)]` on by default
help: use `dyn`
  |
4 |     for<'iter> dyn Validator<<&'iter I>::Item>: ,
  |                +++
Backtrace


error: internal compiler error: compiler/rustc_infer/src/infer/region_constraints/mod.rs:533:17: cannot relate bound region: '_#56r <= ReLateBound(DebruijnIndex(1), BoundRegion { var: 0, kind: BrNamed(DefId(0:6 ~ treereduce[5dd7]::{impl#0}::'iter), 'iter) })

thread 'rustc' panicked at 'Box<dyn Any>', /rustc/28a29282f6dde2e4aba6e1e4cfea5c9430a00217/compiler/rustc_errors/src/lib.rs:995:33
stack backtrace:
   0:     0x7f07004a7f8a - std::backtrace_rs::backtrace::libunwind::trace::h2ae08ac77e721453
                               at /rustc/28a29282f6dde2e4aba6e1e4cfea5c9430a00217/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7f07004a7f8a - std::backtrace_rs::backtrace::trace_unsynchronized::hb7d3015d68fe20ce
                               at /rustc/28a29282f6dde2e4aba6e1e4cfea5c9430a00217/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f07004a7f8a - std::sys_common::backtrace::_print_fmt::h60e26e0e8c18d6ce
                               at /rustc/28a29282f6dde2e4aba6e1e4cfea5c9430a00217/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7f07004a7f8a - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h3b0d15c01f4c6ce1
                               at /rustc/28a29282f6dde2e4aba6e1e4cfea5c9430a00217/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7f070050c04f - core::fmt::write::h53efc8feba3ef479
                               at /rustc/28a29282f6dde2e4aba6e1e4cfea5c9430a00217/library/core/src/fmt/mod.rs:1254:17
   5:     0x7f070049aac5 - std::io::Write::write_fmt::h36688c4bf2bf4993
                               at /rustc/28a29282f6dde2e4aba6e1e4cfea5c9430a00217/library/std/src/io/mod.rs:1698:15
   6:     0x7f07004a7d55 - std::sys_common::backtrace::_print::hebc179fe7d730070
                               at /rustc/28a29282f6dde2e4aba6e1e4cfea5c9430a00217/library/std/src/sys_common/backtrace.rs:47:5
   7:     0x7f07004a7d55 - std::sys_common::backtrace::print::h283655fa821c834e
                               at /rustc/28a29282f6dde2e4aba6e1e4cfea5c9430a00217/library/std/src/sys_common/backtrace.rs:34:9
   8:     0x7f07004aa9fe - std::panicking::default_hook::{{closure}}::h169b3603060ea40e
                               at /rustc/28a29282f6dde2e4aba6e1e4cfea5c9430a00217/library/std/src/panicking.rs:269:22
   9:     0x7f07004aa7a5 - std::panicking::default_hook::ha74066679145a3c4
                               at /rustc/28a29282f6dde2e4aba6e1e4cfea5c9430a00217/library/std/src/panicking.rs:288:9
  10:     0x7f06ff245ab5 - rustc_driver_impl[4d97fe7f1291236b]::DEFAULT_HOOK::{closure#0}::{closure#0}
  11:     0x7f07004ab1f4 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hfa989ed38d86b9d9
                               at /rustc/28a29282f6dde2e4aba6e1e4cfea5c9430a00217/library/alloc/src/boxed.rs:1990:9
  12:     0x7f07004ab1f4 - std::panicking::rust_panic_with_hook::h252878fc82e8de0b
                               at /rustc/28a29282f6dde2e4aba6e1e4cfea5c9430a00217/library/std/src/panicking.rs:694:13
  13:     0x7f06ff570921 - std[d5ee076be8456c97]::panicking::begin_panic::<rustc_errors[d85ed819febe5198]::ExplicitBug>::{closure#0}
  14:     0x7f06ff56e756 - std[d5ee076be8456c97]::sys_common::backtrace::__rust_end_short_backtrace::<std[d5ee076be8456c97]::panicking::begin_panic<rustc_errors[d85ed819febe5198]::ExplicitBug>::{closure#0}, !>
  15:     0x7f06ff52a706 - std[d5ee076be8456c97]::panicking::begin_panic::<rustc_errors[d85ed819febe5198]::ExplicitBug>
  16:     0x7f06ff54a172 - <rustc_errors[d85ed819febe5198]::HandlerInner>::span_bug::<rustc_span[8e5063ad889992cf]::span_encoding::Span, &alloc[c59868cce20e867e]::string::String>
  17:     0x7f06ff549f97 - <rustc_errors[d85ed819febe5198]::Handler>::span_bug::<rustc_span[8e5063ad889992cf]::span_encoding::Span, &alloc[c59868cce20e867e]::string::String>
  18:     0x7f06ff5c4e6b - rustc_middle[2d61b0da35696f46]::util::bug::opt_span_bug_fmt::<rustc_span[8e5063ad889992cf]::span_encoding::Span>::{closure#0}
  19:     0x7f06ff5c4eba - rustc_middle[2d61b0da35696f46]::ty::context::tls::with_opt::<rustc_middle[2d61b0da35696f46]::util::bug::opt_span_bug_fmt<rustc_span[8e5063ad889992cf]::span_encoding::Span>::{closure#0}, !>::{closure#0}
  20:     0x7f06ff5c3a96 - rustc_middle[2d61b0da35696f46]::ty::context::tls::with_context_opt::<rustc_middle[2d61b0da35696f46]::ty::context::tls::with_opt<rustc_middle[2d61b0da35696f46]::util::bug::opt_span_bug_fmt<rustc_span[8e5063ad889992cf]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
  21:     0x7f06ff5c3956 - rustc_middle[2d61b0da35696f46]::util::bug::opt_span_bug_fmt::<rustc_span[8e5063ad889992cf]::span_encoding::Span>
  22:     0x7f06ff5c3914 - rustc_middle[2d61b0da35696f46]::util::bug::span_bug_fmt::<rustc_span[8e5063ad889992cf]::span_encoding::Span>
  23:     0x7f06fd1f6df2 - <rustc_infer[a12da332667b73f]::infer::equate::Equate as rustc_middle[2d61b0da35696f46]::ty::relate::TypeRelation>::relate::<rustc_middle[2d61b0da35696f46]::ty::sty::Region>
  24:     0x7f06fd1f120b - rustc_middle[2d61b0da35696f46]::ty::relate::super_relate_tys::<rustc_infer[a12da332667b73f]::infer::equate::Equate>
  25:     0x7f06fd1eea6f - <rustc_infer[a12da332667b73f]::infer::equate::Equate as rustc_middle[2d61b0da35696f46]::ty::relate::TypeRelation>::tys
  26:     0x7f06fdfa6175 - <rustc_infer[a12da332667b73f]::infer::InferCtxt>::can_eq::<rustc_middle[2d61b0da35696f46]::ty::Ty>
  27:     0x7f06ff3ddd3a - <&mut core[f529f889295af418]::iter::adapters::cloned::clone_try_fold<rustc_span[8e5063ad889992cf]::def_id::DefId, (), core[f529f889295af418]::ops::control_flow::ControlFlow<()>, core[f529f889295af418]::iter::traits::iterator::Iterator::any::check<rustc_span[8e5063ad889992cf]::def_id::DefId, <dyn rustc_hir_analysis[b3b6e2a3c1920074]::astconv::AstConv>::probe_traits_that_match_assoc_ty::{closure#0}::{closure#1}>::{closure#0}>::{closure#0} as core[f529f889295af418]::ops::function::FnMut<((), &rustc_span[8e5063ad889992cf]::def_id::DefId)>>::call_mut
  28:     0x7f06ff3bbbf1 - <core[f529f889295af418]::iter::adapters::map::Map<indexmap[7621ab9bf504e3cd]::map::Iter<rustc_middle[2d61b0da35696f46]::ty::fast_reject::SimplifiedType, alloc[c59868cce20e867e]::vec::Vec<rustc_span[8e5063ad889992cf]::def_id::DefId>>, <rustc_middle[2d61b0da35696f46]::ty::context::TyCtxt>::all_impls::{closure#0}> as core[f529f889295af418]::iter::traits::iterator::Iterator>::try_fold::<(), <core[f529f889295af418]::iter::adapters::flatten::FlattenCompat<_, _>>::iter_try_fold::flatten<&alloc[c59868cce20e867e]::vec::Vec<rustc_span[8e5063ad889992cf]::def_id::DefId>, (), core[f529f889295af418]::ops::control_flow::ControlFlow<()>, <core[f529f889295af418]::iter::adapters::flatten::FlattenCompat<_, _> as core[f529f889295af418]::iter::traits::iterator::Iterator>::try_fold::flatten<core[f529f889295af418]::slice::iter::Iter<rustc_span[8e5063ad889992cf]::def_id::DefId>, (), core[f529f889295af418]::ops::control_flow::ControlFlow<()>, core[f529f889295af418]::iter::adapters::cloned::clone_try_fold<rustc_span[8e5063ad889992cf]::def_id::DefId, (), core[f529f889295af418]::ops::control_flow::ControlFlow<()>, core[f529f889295af418]::iter::traits::iterator::Iterator::any::check<rustc_span[8e5063ad889992cf]::def_id::DefId, <dyn rustc_hir_analysis[b3b6e2a3c1920074]::astconv::AstConv>::probe_traits_that_match_assoc_ty::{closure#0}::{closure#1}>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}, core[f529f889295af418]::ops::control_flow::ControlFlow<()>>
  29:     0x7f06ff3cb25c - <core[f529f889295af418]::iter::adapters::chain::Chain<core[f529f889295af418]::slice::iter::Iter<rustc_span[8e5063ad889992cf]::def_id::DefId>, core[f529f889295af418]::iter::adapters::flatten::FlatMap<indexmap[7621ab9bf504e3cd]::map::Iter<rustc_middle[2d61b0da35696f46]::ty::fast_reject::SimplifiedType, alloc[c59868cce20e867e]::vec::Vec<rustc_span[8e5063ad889992cf]::def_id::DefId>>, &alloc[c59868cce20e867e]::vec::Vec<rustc_span[8e5063ad889992cf]::def_id::DefId>, <rustc_middle[2d61b0da35696f46]::ty::context::TyCtxt>::all_impls::{closure#0}>> as core[f529f889295af418]::iter::traits::iterator::Iterator>::try_fold::<(), core[f529f889295af418]::iter::adapters::cloned::clone_try_fold<rustc_span[8e5063ad889992cf]::def_id::DefId, (), core[f529f889295af418]::ops::control_flow::ControlFlow<()>, core[f529f889295af418]::iter::traits::iterator::Iterator::any::check<rustc_span[8e5063ad889992cf]::def_id::DefId, <dyn rustc_hir_analysis[b3b6e2a3c1920074]::astconv::AstConv>::probe_traits_that_match_assoc_ty::{closure#0}::{closure#1}>::{closure#0}>::{closure#0}, core[f529f889295af418]::ops::control_flow::ControlFlow<()>>
  30:     0x7f06ff3d3468 - <&mut <dyn rustc_hir_analysis[b3b6e2a3c1920074]::astconv::AstConv>::probe_traits_that_match_assoc_ty::{closure#0} as core[f529f889295af418]::ops::function::FnMut<(&rustc_span[8e5063ad889992cf]::def_id::DefId,)>>::call_mut
  31:     0x7f06ff36a4ff - <core[f529f889295af418]::iter::adapters::copied::Copied<core[f529f889295af418]::slice::iter::Iter<rustc_span[8e5063ad889992cf]::def_id::DefId>> as core[f529f889295af418]::iter::traits::iterator::Iterator>::try_fold::<(), &mut core[f529f889295af418]::iter::traits::iterator::Iterator::find::check<rustc_span[8e5063ad889992cf]::def_id::DefId, &mut <dyn rustc_hir_analysis[b3b6e2a3c1920074]::astconv::AstConv>::probe_traits_that_match_assoc_ty::{closure#0}>::{closure#0}, core[f529f889295af418]::ops::control_flow::ControlFlow<rustc_span[8e5063ad889992cf]::def_id::DefId>>
  32:     0x7f06ff36a5ea - <core[f529f889295af418]::iter::adapters::copied::Copied<core[f529f889295af418]::slice::iter::Iter<rustc_span[8e5063ad889992cf]::def_id::CrateNum>> as core[f529f889295af418]::iter::traits::iterator::Iterator>::try_fold::<(), core[f529f889295af418]::iter::adapters::map::map_try_fold<rustc_span[8e5063ad889992cf]::def_id::CrateNum, core[f529f889295af418]::iter::adapters::copied::Copied<core[f529f889295af418]::slice::iter::Iter<rustc_span[8e5063ad889992cf]::def_id::DefId>>, (), core[f529f889295af418]::ops::control_flow::ControlFlow<rustc_span[8e5063ad889992cf]::def_id::DefId>, <rustc_middle[2d61b0da35696f46]::ty::context::TyCtxt>::all_traits::{closure#0}, <core[f529f889295af418]::iter::adapters::flatten::FlattenCompat<_, _>>::iter_try_fold::flatten<core[f529f889295af418]::iter::adapters::copied::Copied<core[f529f889295af418]::slice::iter::Iter<rustc_span[8e5063ad889992cf]::def_id::DefId>>, (), core[f529f889295af418]::ops::control_flow::ControlFlow<rustc_span[8e5063ad889992cf]::def_id::DefId>, <core[f529f889295af418]::iter::adapters::flatten::FlattenCompat<_, _> as core[f529f889295af418]::iter::traits::iterator::Iterator>::try_fold::flatten<core[f529f889295af418]::iter::adapters::copied::Copied<core[f529f889295af418]::slice::iter::Iter<rustc_span[8e5063ad889992cf]::def_id::DefId>>, (), core[f529f889295af418]::ops::control_flow::ControlFlow<rustc_span[8e5063ad889992cf]::def_id::DefId>, core[f529f889295af418]::iter::traits::iterator::Iterator::find::check<rustc_span[8e5063ad889992cf]::def_id::DefId, &mut <dyn rustc_hir_analysis[b3b6e2a3c1920074]::astconv::AstConv>::probe_traits_that_match_assoc_ty::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}, core[f529f889295af418]::ops::control_flow::ControlFlow<rustc_span[8e5063ad889992cf]::def_id::DefId>>
  33:     0x7f06ff3cb029 - <core[f529f889295af418]::iter::adapters::chain::Chain<core[f529f889295af418]::iter::sources::once::Once<rustc_span[8e5063ad889992cf]::def_id::CrateNum>, core[f529f889295af418]::iter::adapters::copied::Copied<core[f529f889295af418]::slice::iter::Iter<rustc_span[8e5063ad889992cf]::def_id::CrateNum>>> as core[f529f889295af418]::iter::traits::iterator::Iterator>::try_fold::<(), core[f529f889295af418]::iter::adapters::map::map_try_fold<rustc_span[8e5063ad889992cf]::def_id::CrateNum, core[f529f889295af418]::iter::adapters::copied::Copied<core[f529f889295af418]::slice::iter::Iter<rustc_span[8e5063ad889992cf]::def_id::DefId>>, (), core[f529f889295af418]::ops::control_flow::ControlFlow<rustc_span[8e5063ad889992cf]::def_id::DefId>, <rustc_middle[2d61b0da35696f46]::ty::context::TyCtxt>::all_traits::{closure#0}, <core[f529f889295af418]::iter::adapters::flatten::FlattenCompat<_, _>>::iter_try_fold::flatten<core[f529f889295af418]::iter::adapters::copied::Copied<core[f529f889295af418]::slice::iter::Iter<rustc_span[8e5063ad889992cf]::def_id::DefId>>, (), core[f529f889295af418]::ops::control_flow::ControlFlow<rustc_span[8e5063ad889992cf]::def_id::DefId>, <core[f529f889295af418]::iter::adapters::flatten::FlattenCompat<_, _> as core[f529f889295af418]::iter::traits::iterator::Iterator>::try_fold::flatten<core[f529f889295af418]::iter::adapters::copied::Copied<core[f529f889295af418]::slice::iter::Iter<rustc_span[8e5063ad889992cf]::def_id::DefId>>, (), core[f529f889295af418]::ops::control_flow::ControlFlow<rustc_span[8e5063ad889992cf]::def_id::DefId>, core[f529f889295af418]::iter::traits::iterator::Iterator::find::check<rustc_span[8e5063ad889992cf]::def_id::DefId, &mut <dyn rustc_hir_analysis[b3b6e2a3c1920074]::astconv::AstConv>::probe_traits_that_match_assoc_ty::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}, core[f529f889295af418]::ops::control_flow::ControlFlow<rustc_span[8e5063ad889992cf]::def_id::DefId>>
  34:     0x7f06ff3bb47e - <core[f529f889295af418]::iter::adapters::map::Map<core[f529f889295af418]::iter::adapters::chain::Chain<core[f529f889295af418]::iter::sources::once::Once<rustc_span[8e5063ad889992cf]::def_id::CrateNum>, core[f529f889295af418]::iter::adapters::copied::Copied<core[f529f889295af418]::slice::iter::Iter<rustc_span[8e5063ad889992cf]::def_id::CrateNum>>>, <rustc_middle[2d61b0da35696f46]::ty::context::TyCtxt>::all_traits::{closure#0}> as core[f529f889295af418]::iter::traits::iterator::Iterator>::try_fold::<(), <core[f529f889295af418]::iter::adapters::flatten::FlattenCompat<_, _>>::iter_try_fold::flatten<core[f529f889295af418]::iter::adapters::copied::Copied<core[f529f889295af418]::slice::iter::Iter<rustc_span[8e5063ad889992cf]::def_id::DefId>>, (), core[f529f889295af418]::ops::control_flow::ControlFlow<rustc_span[8e5063ad889992cf]::def_id::DefId>, <core[f529f889295af418]::iter::adapters::flatten::FlattenCompat<_, _> as core[f529f889295af418]::iter::traits::iterator::Iterator>::try_fold::flatten<core[f529f889295af418]::iter::adapters::copied::Copied<core[f529f889295af418]::slice::iter::Iter<rustc_span[8e5063ad889992cf]::def_id::DefId>>, (), core[f529f889295af418]::ops::control_flow::ControlFlow<rustc_span[8e5063ad889992cf]::def_id::DefId>, core[f529f889295af418]::iter::traits::iterator::Iterator::find::check<rustc_span[8e5063ad889992cf]::def_id::DefId, &mut <dyn rustc_hir_analysis[b3b6e2a3c1920074]::astconv::AstConv>::probe_traits_that_match_assoc_ty::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}, core[f529f889295af418]::ops::control_flow::ControlFlow<rustc_span[8e5063ad889992cf]::def_id::DefId>>
  35:     0x7f06ff371c61 - <alloc[c59868cce20e867e]::vec::Vec<alloc[c59868cce20e867e]::string::String> as alloc[c59868cce20e867e]::vec::spec_from_iter::SpecFromIter<alloc[c59868cce20e867e]::string::String, core[f529f889295af418]::iter::adapters::map::Map<core[f529f889295af418]::iter::adapters::filter::Filter<core[f529f889295af418]::iter::adapters::flatten::FlatMap<core[f529f889295af418]::iter::adapters::chain::Chain<core[f529f889295af418]::iter::sources::once::Once<rustc_span[8e5063ad889992cf]::def_id::CrateNum>, core[f529f889295af418]::iter::adapters::copied::Copied<core[f529f889295af418]::slice::iter::Iter<rustc_span[8e5063ad889992cf]::def_id::CrateNum>>>, core[f529f889295af418]::iter::adapters::copied::Copied<core[f529f889295af418]::slice::iter::Iter<rustc_span[8e5063ad889992cf]::def_id::DefId>>, <rustc_middle[2d61b0da35696f46]::ty::context::TyCtxt>::all_traits::{closure#0}>, <dyn rustc_hir_analysis[b3b6e2a3c1920074]::astconv::AstConv>::probe_traits_that_match_assoc_ty::{closure#0}>, <dyn rustc_hir_analysis[b3b6e2a3c1920074]::astconv::AstConv>::probe_traits_that_match_assoc_ty::{closure#1}>>>::from_iter
  36:     0x7f06ff3d50f7 - <dyn rustc_hir_analysis[b3b6e2a3c1920074]::astconv::AstConv>::probe_traits_that_match_assoc_ty
  37:     0x7f06fdc21815 - <dyn rustc_hir_analysis[b3b6e2a3c1920074]::astconv::AstConv>::associated_path_to_ty::{closure#0}
  38:     0x7f06fdc04510 - <dyn rustc_hir_analysis[b3b6e2a3c1920074]::astconv::AstConv>::ast_ty_to_ty_inner::{closure#0}
  39:     0x7f06fe400200 - rustc_hir_analysis[b3b6e2a3c1920074]::astconv::generics::create_substs_for_generic_args::<<dyn rustc_hir_analysis[b3b6e2a3c1920074]::astconv::AstConv>::create_substs_for_ast_path::{closure#0}::SubstsForAstPathCtxt>
  40:     0x7f06fe5a1db1 - <dyn rustc_hir_analysis[b3b6e2a3c1920074]::astconv::AstConv>::instantiate_poly_trait_ref_inner
  41:     0x7f06fe5a0ad2 - <dyn rustc_hir_analysis[b3b6e2a3c1920074]::astconv::AstConv>::instantiate_poly_trait_ref
  42:     0x7f06fdc29713 - <dyn rustc_hir_analysis[b3b6e2a3c1920074]::astconv::AstConv>::conv_object_ty_poly_trait_ref
  43:     0x7f06fdc04f53 - <dyn rustc_hir_analysis[b3b6e2a3c1920074]::astconv::AstConv>::ast_ty_to_ty_inner::{closure#0}
  44:     0x7f06fdcba385 - rustc_hir_analysis[b3b6e2a3c1920074]::collect::predicates_of::gather_explicit_predicates_of
  45:     0x7f06fdaa8202 - rustc_query_system[d8c66658df5a9021]::query::plumbing::try_execute_query::<rustc_query_impl[8e54923f1f470686]::queries::explicit_predicates_of, rustc_query_impl[8e54923f1f470686]::plumbing::QueryCtxt>
  46:     0x7f06fd70e535 - rustc_hir_analysis[b3b6e2a3c1920074]::collect::predicates_defined_on
  47:     0x7f06fd70d83a - rustc_query_system[d8c66658df5a9021]::query::plumbing::try_execute_query::<rustc_query_impl[8e54923f1f470686]::queries::predicates_defined_on, rustc_query_impl[8e54923f1f470686]::plumbing::QueryCtxt>
  48:     0x7f06fdea0b29 - rustc_query_system[d8c66658df5a9021]::query::plumbing::try_execute_query::<rustc_query_impl[8e54923f1f470686]::queries::predicates_of, rustc_query_impl[8e54923f1f470686]::plumbing::QueryCtxt>
  49:     0x7f06fde9f888 - <rustc_query_impl[8e54923f1f470686]::Queries as rustc_middle[2d61b0da35696f46]::ty::query::QueryEngine>::predicates_of
  50:     0x7f06fd7f780d - <rustc_hir_analysis[b3b6e2a3c1920074]::collect::CollectItemTypesVisitor as rustc_hir[39088c75bacc159b]::intravisit::Visitor>::visit_item
  51:     0x7f06fd7f6565 - <rustc_middle[2d61b0da35696f46]::hir::map::Map>::visit_item_likes_in_module::<rustc_hir_analysis[b3b6e2a3c1920074]::collect::CollectItemTypesVisitor>
  52:     0x7f06fd7f647c - rustc_hir_analysis[b3b6e2a3c1920074]::collect::collect_mod_item_types
  53:     0x7f06fe8857e1 - rustc_query_system[d8c66658df5a9021]::query::plumbing::try_execute_query::<rustc_query_impl[8e54923f1f470686]::queries::collect_mod_item_types, rustc_query_impl[8e54923f1f470686]::plumbing::QueryCtxt>
  54:     0x7f06fe885389 - <rustc_query_impl[8e54923f1f470686]::Queries as rustc_middle[2d61b0da35696f46]::ty::query::QueryEngine>::collect_mod_item_types
  55:     0x7f06fe6dcc10 - <rustc_session[e4c744b3fe2211d8]::session::Session>::track_errors::<rustc_hir_analysis[b3b6e2a3c1920074]::check_crate::{closure#0}, ()>
  56:     0x7f06fe6d9451 - rustc_hir_analysis[b3b6e2a3c1920074]::check_crate
  57:     0x7f06fe6d38c1 - rustc_interface[dba6145dbb97c62b]::passes::analysis
  58:     0x7f06fe9906a2 - rustc_query_system[d8c66658df5a9021]::query::plumbing::try_execute_query::<rustc_query_impl[8e54923f1f470686]::queries::analysis, rustc_query_impl[8e54923f1f470686]::plumbing::QueryCtxt>
  59:     0x7f06fe9903b0 - <rustc_query_impl[8e54923f1f470686]::Queries as rustc_middle[2d61b0da35696f46]::ty::query::QueryEngine>::analysis
  60:     0x7f06fe8a4caa - <rustc_middle[2d61b0da35696f46]::ty::context::GlobalCtxt>::enter::<rustc_driver_impl[4d97fe7f1291236b]::run_compiler::{closure#1}::{closure#2}::{closure#4}, core[f529f889295af418]::result::Result<(), rustc_span[8e5063ad889992cf]::ErrorGuaranteed>>
  61:     0x7f06fe40bfb2 - <rustc_interface[dba6145dbb97c62b]::interface::Compiler>::enter::<rustc_driver_impl[4d97fe7f1291236b]::run_compiler::{closure#1}::{closure#2}, core[f529f889295af418]::result::Result<core[f529f889295af418]::option::Option<rustc_interface[dba6145dbb97c62b]::queries::Linker>, rustc_span[8e5063ad889992cf]::ErrorGuaranteed>>
  62:     0x7f06fe407291 - rustc_span[8e5063ad889992cf]::set_source_map::<core[f529f889295af418]::result::Result<(), rustc_span[8e5063ad889992cf]::ErrorGuaranteed>, rustc_interface[dba6145dbb97c62b]::interface::run_compiler<core[f529f889295af418]::result::Result<(), rustc_span[8e5063ad889992cf]::ErrorGuaranteed>, rustc_driver_impl[4d97fe7f1291236b]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
  63:     0x7f06fe40683f - std[d5ee076be8456c97]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[dba6145dbb97c62b]::util::run_in_thread_pool_with_globals<rustc_interface[dba6145dbb97c62b]::interface::run_compiler<core[f529f889295af418]::result::Result<(), rustc_span[8e5063ad889992cf]::ErrorGuaranteed>, rustc_driver_impl[4d97fe7f1291236b]::run_compiler::{closure#1}>::{closure#0}, core[f529f889295af418]::result::Result<(), rustc_span[8e5063ad889992cf]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[f529f889295af418]::result::Result<(), rustc_span[8e5063ad889992cf]::ErrorGuaranteed>>
  64:     0x7f06feb02bc1 - <<std[d5ee076be8456c97]::thread::Builder>::spawn_unchecked_<rustc_interface[dba6145dbb97c62b]::util::run_in_thread_pool_with_globals<rustc_interface[dba6145dbb97c62b]::interface::run_compiler<core[f529f889295af418]::result::Result<(), rustc_span[8e5063ad889992cf]::ErrorGuaranteed>, rustc_driver_impl[4d97fe7f1291236b]::run_compiler::{closure#1}>::{closure#0}, core[f529f889295af418]::result::Result<(), rustc_span[8e5063ad889992cf]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[f529f889295af418]::result::Result<(), rustc_span[8e5063ad889992cf]::ErrorGuaranteed>>::{closure#1} as core[f529f889295af418]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  65:     0x7f07004b52d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hdd93eef53e7a2108
                               at /rustc/28a29282f6dde2e4aba6e1e4cfea5c9430a00217/library/alloc/src/boxed.rs:1976:9
  66:     0x7f07004b52d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::he9abf8889c6e4579
                               at /rustc/28a29282f6dde2e4aba6e1e4cfea5c9430a00217/library/alloc/src/boxed.rs:1976:9
  67:     0x7f07004b52d5 - std::sys::unix::thread::Thread::new::thread_start::hd4fe3b3803b0cb9d
                               at /rustc/28a29282f6dde2e4aba6e1e4cfea5c9430a00217/library/std/src/sys/unix/thread.rs:108:17
  68:     0x7f06fbe9ebb5 - <unknown>
  69:     0x7f06fbf20d90 - <unknown>
  70:                0x0 - <unknown>

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 (28a29282f 2023-04-06) running on x86_64-unknown-linux-gnu

query stack during panic:
#0 [explicit_predicates_of] computing explicit predicates of `<impl at treereduce.out:2:1: 2:35>`
#1 [predicates_defined_on] computing predicates of `<impl at treereduce.out:2:1: 2:35>`
#2 [predicates_of] computing predicates of `<impl at treereduce.out:2:1: 2:35>`
#3 [collect_mod_item_types] collecting item types in top-level module
#4 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to 2 previous errors; 1 warning emitted

For more information about this error, try `rustc --explain E0412`.

@matthiaskrgr matthiaskrgr added I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. C-bug Category: This is a bug. S-has-mcve Status: A Minimal Complete and Verifiable Example has been found for this issue labels Apr 7, 2023
@matthiaskrgr
Copy link
Member Author

Regression in rust-lang-ci@0195ff0

#109102 cc @compiler-errors

Dylan-DPC added a commit to Dylan-DPC/rust that referenced this issue Apr 13, 2023
…iemjay

Erase lifetimes above `ty::INNERMOST` when probing ambiguous types

Turns out that `TyCtxt::replace_escaping_bound_vars_uncached` only erases bound vars exactly at `ty::INNERMOST`, and not everything above. This regresses the suggestions for non-lifetime binders, but oh well, I don't really care about those.

Fixes rust-lang#110052
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Apr 13, 2023
…iemjay

Erase lifetimes above `ty::INNERMOST` when probing ambiguous types

Turns out that `TyCtxt::replace_escaping_bound_vars_uncached` only erases bound vars exactly at `ty::INNERMOST`, and not everything above. This regresses the suggestions for non-lifetime binders, but oh well, I don't really care about those.

Fixes rust-lang#110052
@bors bors closed this as completed in 958413c Apr 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ S-has-mcve Status: A Minimal Complete and Verifiable Example has been found for this issue T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant