Skip to content

ICE: unexpected bound var resolution for HirId(DefId(  #113016

Description

@matthiaskrgr

Code

#![feature(non_lifetime_binders)]

trait Trait<Input> {}

fn main(x: impl for<f> Trait<'_, Assoc = impl Trait<f>  + '_>) {}

Meta

rustc --version --verbose:

rustc 1.72.0-nightly (f7ca9df69 2023-06-24)
binary: rustc
commit-hash: f7ca9df69549470541fbf542f87a03eb9ed024b6
commit-date: 2023-06-24
host: x86_64-unknown-linux-gnu
release: 1.72.0-nightly
LLVM version: 16.0.5

Error output

warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
 --> treereduce.out:1:12
  |
1 | #![feature(non_lifetime_binders)]
  |            ^^^^^^^^^^^^^^^^^^^^
  |
  = note: see issue #108185 <https://github.com/rust-lang/rust/issues/108185> for more information
  = note: `#[warn(incomplete_features)]` on by default

warning: type parameter `f` should have an upper camel case name
 --> treereduce.out:5:21
  |
5 | fn main(x: impl for<f> Trait<'_, Assoc = impl Trait<f>  + '_>) {}
  |                     ^ help: convert the identifier to upper camel case (notice the capitalization): `F`
  |
  = note: `#[warn(non_camel_case_types)]` on by default

error[E0658]: anonymous lifetimes in `impl Trait` are unstable
 --> treereduce.out:5:59
  |
5 | fn main(x: impl for<f> Trait<'_, Assoc = impl Trait<f>  + '_>) {}
  |                                                           ^^ expected named lifetime parameter
  |
  = help: add `#![feature(anonymous_lifetime_in_impl_trait)]` to the crate attributes to enable
help: consider introducing a named lifetime parameter
  |
5 | fn main<'a>(x: impl for<f> Trait<'_, Assoc = impl Trait<f>  + 'a>) {}
  |        ++++                                                   ~~

error[E0658]: anonymous lifetimes in `impl Trait` are unstable
 --> treereduce.out:5:30
  |
5 | fn main(x: impl for<f> Trait<'_, Assoc = impl Trait<f>  + '_>) {}
  |                              ^^ expected named lifetime parameter
  |
  = help: add `#![feature(anonymous_lifetime_in_impl_trait)]` to the crate attributes to enable
help: consider introducing a named lifetime parameter
  |
5 | fn main<'a>(x: impl for<f> Trait<'a, Assoc = impl Trait<f>  + '_>) {}
  |        ++++                      ~~
Backtrace

error: internal compiler error: compiler/rustc_hir_analysis/src/astconv/mod.rs:2571:28: unexpected bound var resolution for HirId(DefId(0:5 ~ treereduce[9f27]::main).11): None

thread 'rustc' panicked at 'Box<dyn Any>', /rustc/f7ca9df69549470541fbf542f87a03eb9ed024b6/compiler/rustc_errors/src/lib.rs:1650:9
stack backtrace:
   0:     0x7f038722be31 - std::backtrace_rs::backtrace::libunwind::trace::h5d192c9c54b15f60
                               at /rustc/f7ca9df69549470541fbf542f87a03eb9ed024b6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7f038722be31 - std::backtrace_rs::backtrace::trace_unsynchronized::hc7d3204e467fac03
                               at /rustc/f7ca9df69549470541fbf542f87a03eb9ed024b6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f038722be31 - std::sys_common::backtrace::_print_fmt::h2af83df47bc668bf
                               at /rustc/f7ca9df69549470541fbf542f87a03eb9ed024b6/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7f038722be31 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hf5a4fac06076e902
                               at /rustc/f7ca9df69549470541fbf542f87a03eb9ed024b6/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7f038728d5df - core::fmt::rt::Argument::fmt::h1f69f816cde54b71
                               at /rustc/f7ca9df69549470541fbf542f87a03eb9ed024b6/library/core/src/fmt/rt.rs:138:9
   5:     0x7f038728d5df - core::fmt::write::h555ebd423ad27fc9
                               at /rustc/f7ca9df69549470541fbf542f87a03eb9ed024b6/library/core/src/fmt/mod.rs:1094:21
   6:     0x7f038721e967 - std::io::Write::write_fmt::ha768284cce22c0d1
                               at /rustc/f7ca9df69549470541fbf542f87a03eb9ed024b6/library/std/src/io/mod.rs:1714:15
   7:     0x7f038722bc45 - std::sys_common::backtrace::_print::hd74993f4555d3caf
                               at /rustc/f7ca9df69549470541fbf542f87a03eb9ed024b6/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x7f038722bc45 - std::sys_common::backtrace::print::h55223f11226300d1
                               at /rustc/f7ca9df69549470541fbf542f87a03eb9ed024b6/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x7f038722e9f3 - std::panicking::default_hook::{{closure}}::h434fb03b0a8c72cd
                               at /rustc/f7ca9df69549470541fbf542f87a03eb9ed024b6/library/std/src/panicking.rs:269:22
  10:     0x7f038722e784 - std::panicking::default_hook::h26d4937b6653693a
                               at /rustc/f7ca9df69549470541fbf542f87a03eb9ed024b6/library/std/src/panicking.rs:288:9
  11:     0x7f0386001f4b - rustc_driver_impl[374d8943f7df2d38]::install_ice_hook::{closure#0}
  12:     0x7f038722f21e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h3bf5cd9997a69c0a
                               at /rustc/f7ca9df69549470541fbf542f87a03eb9ed024b6/library/alloc/src/boxed.rs:2007:9
  13:     0x7f038722f21e - std::panicking::rust_panic_with_hook::hb4f1f210fa9d7d78
                               at /rustc/f7ca9df69549470541fbf542f87a03eb9ed024b6/library/std/src/panicking.rs:709:13
  14:     0x7f03865ca5e1 - std[dcf3549276dd02fc]::panicking::begin_panic::<rustc_errors[8591f71d1b960f3d]::ExplicitBug>::{closure#0}
  15:     0x7f03865c8226 - std[dcf3549276dd02fc]::sys_common::backtrace::__rust_end_short_backtrace::<std[dcf3549276dd02fc]::panicking::begin_panic<rustc_errors[8591f71d1b960f3d]::ExplicitBug>::{closure#0}, !>
  16:     0x7f03865b8776 - std[dcf3549276dd02fc]::panicking::begin_panic::<rustc_errors[8591f71d1b960f3d]::ExplicitBug>
  17:     0x7f038651b374 - <rustc_errors[8591f71d1b960f3d]::HandlerInner>::bug::<alloc[eb6a0b08f7ad6559]::string::String>
  18:     0x7f038651b1f6 - <rustc_errors[8591f71d1b960f3d]::Handler>::bug::<alloc[eb6a0b08f7ad6559]::string::String>
  19:     0x7f038653bb9c - rustc_middle[7578aedf3d8ae35a]::util::bug::opt_span_bug_fmt::<rustc_span[59b12f7e70a4d344]::span_encoding::Span>::{closure#0}
  20:     0x7f038653b49a - rustc_middle[7578aedf3d8ae35a]::ty::context::tls::with_opt::<rustc_middle[7578aedf3d8ae35a]::util::bug::opt_span_bug_fmt<rustc_span[59b12f7e70a4d344]::span_encoding::Span>::{closure#0}, !>::{closure#0}
  21:     0x7f038653b46a - rustc_middle[7578aedf3d8ae35a]::ty::context::tls::with_context_opt::<rustc_middle[7578aedf3d8ae35a]::ty::context::tls::with_opt<rustc_middle[7578aedf3d8ae35a]::util::bug::opt_span_bug_fmt<rustc_span[59b12f7e70a4d344]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
  22:     0x7f038427404d - rustc_middle[7578aedf3d8ae35a]::util::bug::bug_fmt
  23:     0x7f0384e5d0dc - <dyn rustc_hir_analysis[12ff737570cd8dab]::astconv::AstConv>::res_to_ty
  24:     0x7f0384e55d02 - <dyn rustc_hir_analysis[12ff737570cd8dab]::astconv::AstConv>::ast_ty_to_ty_inner
  25:     0x7f0385166ffe - rustc_hir_analysis[12ff737570cd8dab]::astconv::generics::create_substs_for_generic_args::<<dyn rustc_hir_analysis[12ff737570cd8dab]::astconv::AstConv>::create_substs_for_ast_path::{closure#0}::SubstsForAstPathCtxt>
  26:     0x7f038536765e - <dyn rustc_hir_analysis[12ff737570cd8dab]::astconv::AstConv>::instantiate_poly_trait_ref_inner
  27:     0x7f0385366425 - <dyn rustc_hir_analysis[12ff737570cd8dab]::astconv::AstConv>::instantiate_poly_trait_ref
  28:     0x7f0384adcb6d - rustc_hir_analysis[12ff737570cd8dab]::collect::predicates_of::gather_explicit_predicates_of
  29:     0x7f0384ad9f58 - rustc_query_impl[6d34ccc9082d3cbf]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6d34ccc9082d3cbf]::query_impl::explicit_predicates_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[7578aedf3d8ae35a]::query::erase::Erased<[u8; 24usize]>>
  30:     0x7f03840f71a6 - rustc_query_system[8ef922b68c9e8ac6]::query::plumbing::try_execute_query::<rustc_query_impl[6d34ccc9082d3cbf]::DynamicConfig<rustc_query_system[8ef922b68c9e8ac6]::query::caches::DefaultCache<rustc_span[59b12f7e70a4d344]::def_id::DefId, rustc_middle[7578aedf3d8ae35a]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[6d34ccc9082d3cbf]::plumbing::QueryCtxt, false>
  31:     0x7f03840f6e2f - rustc_query_impl[6d34ccc9082d3cbf]::query_impl::explicit_predicates_of::get_query_non_incr::__rust_end_short_backtrace
  32:     0x7f038588b62a - rustc_hir_analysis[12ff737570cd8dab]::collect::predicates_defined_on
  33:     0x7f0383ffaefd - rustc_query_impl[6d34ccc9082d3cbf]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6d34ccc9082d3cbf]::query_impl::predicates_defined_on::dynamic_query::{closure#2}::{closure#0}, rustc_middle[7578aedf3d8ae35a]::query::erase::Erased<[u8; 24usize]>>
  34:     0x7f03840f7490 - rustc_query_system[8ef922b68c9e8ac6]::query::plumbing::try_execute_query::<rustc_query_impl[6d34ccc9082d3cbf]::DynamicConfig<rustc_query_system[8ef922b68c9e8ac6]::query::caches::DefaultCache<rustc_span[59b12f7e70a4d344]::def_id::DefId, rustc_middle[7578aedf3d8ae35a]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[6d34ccc9082d3cbf]::plumbing::QueryCtxt, false>
  35:     0x7f038597bfaf - rustc_query_impl[6d34ccc9082d3cbf]::query_impl::predicates_defined_on::get_query_non_incr::__rust_end_short_backtrace
  36:     0x7f0385886dea - rustc_hir_analysis[12ff737570cd8dab]::collect::predicates_of::predicates_of
  37:     0x7f0383ffaf6d - rustc_query_impl[6d34ccc9082d3cbf]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6d34ccc9082d3cbf]::query_impl::predicates_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[7578aedf3d8ae35a]::query::erase::Erased<[u8; 24usize]>>
  38:     0x7f03840f717a - rustc_query_system[8ef922b68c9e8ac6]::query::plumbing::try_execute_query::<rustc_query_impl[6d34ccc9082d3cbf]::DynamicConfig<rustc_query_system[8ef922b68c9e8ac6]::query::caches::DefaultCache<rustc_span[59b12f7e70a4d344]::def_id::DefId, rustc_middle[7578aedf3d8ae35a]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[6d34ccc9082d3cbf]::plumbing::QueryCtxt, false>
  39:     0x7f03859b3dbf - rustc_query_impl[6d34ccc9082d3cbf]::query_impl::predicates_of::get_query_non_incr::__rust_end_short_backtrace
  40:     0x7f0384947e01 - <rustc_hir_analysis[12ff737570cd8dab]::collect::CollectItemTypesVisitor as rustc_hir[75c69f6f15d5d6ca]::intravisit::Visitor>::visit_item
  41:     0x7f0384945f33 - rustc_hir_analysis[12ff737570cd8dab]::collect::collect_mod_item_types
  42:     0x7f0384cbe61c - rustc_query_impl[6d34ccc9082d3cbf]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6d34ccc9082d3cbf]::query_impl::collect_mod_item_types::dynamic_query::{closure#2}::{closure#0}, rustc_middle[7578aedf3d8ae35a]::query::erase::Erased<[u8; 0usize]>>
  43:     0x7f0384cbe5fe - <rustc_query_impl[6d34ccc9082d3cbf]::query_impl::collect_mod_item_types::dynamic_query::{closure#2} as core[6907b49ead676d89]::ops::function::FnOnce<(rustc_middle[7578aedf3d8ae35a]::ty::context::TyCtxt, rustc_span[59b12f7e70a4d344]::def_id::LocalDefId)>>::call_once
  44:     0x7f038471498f - rustc_query_system[8ef922b68c9e8ac6]::query::plumbing::try_execute_query::<rustc_query_impl[6d34ccc9082d3cbf]::DynamicConfig<rustc_query_system[8ef922b68c9e8ac6]::query::caches::VecCache<rustc_span[59b12f7e70a4d344]::def_id::LocalDefId, rustc_middle[7578aedf3d8ae35a]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[6d34ccc9082d3cbf]::plumbing::QueryCtxt, false>
  45:     0x7f03859ab3a4 - rustc_query_impl[6d34ccc9082d3cbf]::query_impl::collect_mod_item_types::get_query_non_incr::__rust_end_short_backtrace
  46:     0x7f03854af117 - <rustc_middle[7578aedf3d8ae35a]::hir::map::Map>::for_each_module::<rustc_hir_analysis[12ff737570cd8dab]::check_crate::{closure#0}::{closure#0}::{closure#0}>
  47:     0x7f03854aecf2 - <rustc_session[6ee1fe53d65fb5ae]::session::Session>::track_errors::<rustc_hir_analysis[12ff737570cd8dab]::check_crate::{closure#0}, ()>
  48:     0x7f03854ad501 - rustc_hir_analysis[12ff737570cd8dab]::check_crate
  49:     0x7f03854a613a - rustc_interface[25e9143dc71174ae]::passes::analysis
  50:     0x7f03854edf3a - rustc_query_impl[6d34ccc9082d3cbf]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6d34ccc9082d3cbf]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[7578aedf3d8ae35a]::query::erase::Erased<[u8; 1usize]>>
  51:     0x7f03854edf29 - <rustc_query_impl[6d34ccc9082d3cbf]::query_impl::analysis::dynamic_query::{closure#2} as core[6907b49ead676d89]::ops::function::FnOnce<(rustc_middle[7578aedf3d8ae35a]::ty::context::TyCtxt, ())>>::call_once
  52:     0x7f038567bfa8 - rustc_query_system[8ef922b68c9e8ac6]::query::plumbing::try_execute_query::<rustc_query_impl[6d34ccc9082d3cbf]::DynamicConfig<rustc_query_system[8ef922b68c9e8ac6]::query::caches::SingleCache<rustc_middle[7578aedf3d8ae35a]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[6d34ccc9082d3cbf]::plumbing::QueryCtxt, false>
  53:     0x7f038567bd79 - rustc_query_impl[6d34ccc9082d3cbf]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
  54:     0x7f0385634465 - <rustc_middle[7578aedf3d8ae35a]::ty::context::GlobalCtxt>::enter::<rustc_driver_impl[374d8943f7df2d38]::run_compiler::{closure#1}::{closure#2}::{closure#4}, core[6907b49ead676d89]::result::Result<(), rustc_span[59b12f7e70a4d344]::ErrorGuaranteed>>
  55:     0x7f03851b7c9b - <rustc_interface[25e9143dc71174ae]::interface::Compiler>::enter::<rustc_driver_impl[374d8943f7df2d38]::run_compiler::{closure#1}::{closure#2}, core[6907b49ead676d89]::result::Result<core[6907b49ead676d89]::option::Option<rustc_interface[25e9143dc71174ae]::queries::Linker>, rustc_span[59b12f7e70a4d344]::ErrorGuaranteed>>
  56:     0x7f03851b3ae9 - rustc_span[59b12f7e70a4d344]::set_source_map::<core[6907b49ead676d89]::result::Result<(), rustc_span[59b12f7e70a4d344]::ErrorGuaranteed>, rustc_interface[25e9143dc71174ae]::interface::run_compiler<core[6907b49ead676d89]::result::Result<(), rustc_span[59b12f7e70a4d344]::ErrorGuaranteed>, rustc_driver_impl[374d8943f7df2d38]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
  57:     0x7f03851b3615 - <scoped_tls[6d925012d1f68df7]::ScopedKey<rustc_span[59b12f7e70a4d344]::SessionGlobals>>::set::<rustc_interface[25e9143dc71174ae]::interface::run_compiler<core[6907b49ead676d89]::result::Result<(), rustc_span[59b12f7e70a4d344]::ErrorGuaranteed>, rustc_driver_impl[374d8943f7df2d38]::run_compiler::{closure#1}>::{closure#0}, core[6907b49ead676d89]::result::Result<(), rustc_span[59b12f7e70a4d344]::ErrorGuaranteed>>
  58:     0x7f03851b2c36 - std[dcf3549276dd02fc]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[25e9143dc71174ae]::util::run_in_thread_pool_with_globals<rustc_interface[25e9143dc71174ae]::interface::run_compiler<core[6907b49ead676d89]::result::Result<(), rustc_span[59b12f7e70a4d344]::ErrorGuaranteed>, rustc_driver_impl[374d8943f7df2d38]::run_compiler::{closure#1}>::{closure#0}, core[6907b49ead676d89]::result::Result<(), rustc_span[59b12f7e70a4d344]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[6907b49ead676d89]::result::Result<(), rustc_span[59b12f7e70a4d344]::ErrorGuaranteed>>
  59:     0x7f038587aff5 - <<std[dcf3549276dd02fc]::thread::Builder>::spawn_unchecked_<rustc_interface[25e9143dc71174ae]::util::run_in_thread_pool_with_globals<rustc_interface[25e9143dc71174ae]::interface::run_compiler<core[6907b49ead676d89]::result::Result<(), rustc_span[59b12f7e70a4d344]::ErrorGuaranteed>, rustc_driver_impl[374d8943f7df2d38]::run_compiler::{closure#1}>::{closure#0}, core[6907b49ead676d89]::result::Result<(), rustc_span[59b12f7e70a4d344]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[6907b49ead676d89]::result::Result<(), rustc_span[59b12f7e70a4d344]::ErrorGuaranteed>>::{closure#1} as core[6907b49ead676d89]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  60:     0x7f0387239695 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7bd6d94c21941047
                               at /rustc/f7ca9df69549470541fbf542f87a03eb9ed024b6/library/alloc/src/boxed.rs:1993:9
  61:     0x7f0387239695 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h16cbf2f6802b7a97
                               at /rustc/f7ca9df69549470541fbf542f87a03eb9ed024b6/library/alloc/src/boxed.rs:1993:9
  62:     0x7f0387239695 - std::sys::unix::thread::Thread::new::thread_start::h654b71fdae4d62c8
                               at /rustc/f7ca9df69549470541fbf542f87a03eb9ed024b6/library/std/src/sys/unix/thread.rs:108:17
  63:     0x7f0382c9d44b - <unknown>
  64:     0x7f0382d20e40 - <unknown>
  65:                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.72.0-nightly (f7ca9df69 2023-06-24) running on x86_64-unknown-linux-gnu

query stack during panic:
#0 [explicit_predicates_of] computing explicit predicates of `main`
#1 [predicates_defined_on] computing predicates of `main`
#2 [predicates_of] computing predicates of `main`
#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 3 previous errors; 2 warnings emitted

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

Activity

  1. added
    I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
    T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.
    C-bugCategory: This is a bug.
    requires-nightlyThis issue requires a nightly compiler in some way. When possible, use a F-* label instead.
    on Jun 25, 2023
  2. asquared31415 commented on Jun 25, 2023

    @asquared31415
    Contributor

    minimized

    #![feature(non_lifetime_binders)]
    
    trait Trait<Input> {}
    
    fn uwu(_: impl for<T> Trait<impl Trait<T>>) {}
  3. matthiaskrgr commented on Jun 25, 2023

    @matthiaskrgr
    MemberAuthor

    Bisected to #107489 surprised_pikachu.png 😅

  4. added a commit that references this issue on Jun 30, 2023
    9ba54ca
  5. added a commit that references this issue on Jun 30, 2023
    0b96b25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

C-bugCategory: This is a bug.F-non_lifetime_binders`#![feature(non_lifetime_binders)]`I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.glacierICE tracked in rust-lang/glacier.requires-nightlyThis issue requires a nightly compiler in some way. When possible, use a F-* label instead.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions