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: assertion failed: supertrait_bound_vars.is_empty()' #113423

Closed
matthiaskrgr opened this issue Jul 6, 2023 · 1 comment · Fixed by #113426
Closed

ice: assertion failed: supertrait_bound_vars.is_empty()' #113423

matthiaskrgr opened this issue Jul 6, 2023 · 1 comment · Fixed by #113426
Assignees
Labels
C-bug Category: This is a bug. F-return_type_notation `#[feature(return_type_notation)]` I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ requires-nightly This issue requires a nightly compiler in some way. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@matthiaskrgr
Copy link
Member

Code

#![feature(return_type_notation)]

trait Super1<'a> {
    fn bar<'a: 'a>() -> bool;
}
impl Super1<bar(): Send> for () {}

Meta

rustc --version --verbose:

rustc 1.72.0-nightly (d9c13cd45 2023-07-05)
binary: rustc
commit-hash: d9c13cd4531649c2028a8384cb4d4e54f985380e
commit-date: 2023-07-05
host: x86_64-unknown-linux-gnu
release: 1.72.0-nightly
LLVM version: 16.0.5

Error output

error[E0496]: lifetime name `'a` shadows a lifetime name that is already in scope
 --> treereduce.out:4:12
  |
3 | trait Super1<'a> {
  |              -- first declared here
4 |     fn bar<'a: 'a>() -> bool;
  |            ^^ lifetime `'a` already in scope

error[E0726]: implicit elided lifetime not allowed here
 --> treereduce.out:6:6
  |
6 | impl Super1<bar(): Send> for () {}
  |      ^^^^^^^^^^^^^^^^^^^ expected lifetime parameter
  |
help: indicate the anonymous lifetime
Backtrace

thread 'rustc' panicked at 'assertion failed: supertrait_bound_vars.is_empty()', compiler/rustc_hir_analysis/src/collect/resolve_bound_vars.rs:341:21
stack backtrace:
   0:     0x7f05b2d63a81 - std::backtrace_rs::backtrace::libunwind::trace::h3c8b1207af9f7dc4
                               at /rustc/d9c13cd4531649c2028a8384cb4d4e54f985380e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7f05b2d63a81 - std::backtrace_rs::backtrace::trace_unsynchronized::h6cc4d1ef12765b77
                               at /rustc/d9c13cd4531649c2028a8384cb4d4e54f985380e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f05b2d63a81 - std::sys_common::backtrace::_print_fmt::h4b58ac6692087093
                               at /rustc/d9c13cd4531649c2028a8384cb4d4e54f985380e/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7f05b2d63a81 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h4cfe701aadad59ba
                               at /rustc/d9c13cd4531649c2028a8384cb4d4e54f985380e/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7f05b2dc9d8f - core::fmt::rt::Argument::fmt::h017682705ed0d628
                               at /rustc/d9c13cd4531649c2028a8384cb4d4e54f985380e/library/core/src/fmt/rt.rs:138:9
   5:     0x7f05b2dc9d8f - core::fmt::write::h69b96bfc1fe292d1
                               at /rustc/d9c13cd4531649c2028a8384cb4d4e54f985380e/library/core/src/fmt/mod.rs:1094:21
   6:     0x7f05b2d563c7 - std::io::Write::write_fmt::h320e7f56f42ea27f
                               at /rustc/d9c13cd4531649c2028a8384cb4d4e54f985380e/library/std/src/io/mod.rs:1714:15
   7:     0x7f05b2d63895 - std::sys_common::backtrace::_print::h0061961dcfb0fc1f
                               at /rustc/d9c13cd4531649c2028a8384cb4d4e54f985380e/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x7f05b2d63895 - std::sys_common::backtrace::print::h3caf3df7088e0a43
                               at /rustc/d9c13cd4531649c2028a8384cb4d4e54f985380e/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x7f05b2d66673 - std::panicking::default_hook::{{closure}}::h77ae45a48b0419f4
                               at /rustc/d9c13cd4531649c2028a8384cb4d4e54f985380e/library/std/src/panicking.rs:269:22
  10:     0x7f05b2d66404 - std::panicking::default_hook::h1750cbe688cc23cf
                               at /rustc/d9c13cd4531649c2028a8384cb4d4e54f985380e/library/std/src/panicking.rs:288:9
  11:     0x7f05b6072cab - rustc_driver_impl[c8224e60c583ce9e]::install_ice_hook::{closure#0}
  12:     0x7f05b2d66e9e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h2f7c4b5be15d65f3
                               at /rustc/d9c13cd4531649c2028a8384cb4d4e54f985380e/library/alloc/src/boxed.rs:2024:9
  13:     0x7f05b2d66e9e - std::panicking::rust_panic_with_hook::hb1e7052d584ca5b8
                               at /rustc/d9c13cd4531649c2028a8384cb4d4e54f985380e/library/std/src/panicking.rs:709:13
  14:     0x7f05b2d66be1 - std::panicking::begin_panic_handler::{{closure}}::haa7ba27cd61f2c57
                               at /rustc/d9c13cd4531649c2028a8384cb4d4e54f985380e/library/std/src/panicking.rs:595:13
  15:     0x7f05b2d63ee6 - std::sys_common::backtrace::__rust_end_short_backtrace::hf9f1a9ff381b40f6
                               at /rustc/d9c13cd4531649c2028a8384cb4d4e54f985380e/library/std/src/sys_common/backtrace.rs:151:18
  16:     0x7f05b2d66972 - rust_begin_unwind
                               at /rustc/d9c13cd4531649c2028a8384cb4d4e54f985380e/library/std/src/panicking.rs:593:5
  17:     0x7f05b2dc5fe3 - core::panicking::panic_fmt::h7ce7a976d3070fa0
                               at /rustc/d9c13cd4531649c2028a8384cb4d4e54f985380e/library/core/src/panicking.rs:67:14
  18:     0x7f05b2dc6073 - core::panicking::panic::hc2792b9695c02495
                               at /rustc/d9c13cd4531649c2028a8384cb4d4e54f985380e/library/core/src/panicking.rs:117:5
  19:     0x7f05b61f5213 - <rustc_hir_analysis[58a31f7655e3c3]::collect::resolve_bound_vars::BoundVarContext>::poly_trait_ref_binder_info
  20:     0x7f05b48688af - <rustc_hir_analysis[58a31f7655e3c3]::collect::resolve_bound_vars::BoundVarContext as rustc_hir[99101b9f162f5338]::intravisit::Visitor>::visit_path
  21:     0x7f05b486f41b - rustc_hir[99101b9f162f5338]::intravisit::walk_item::<rustc_hir_analysis[58a31f7655e3c3]::collect::resolve_bound_vars::BoundVarContext>
  22:     0x7f05b486df09 - <rustc_hir_analysis[58a31f7655e3c3]::collect::resolve_bound_vars::BoundVarContext as rustc_hir[99101b9f162f5338]::intravisit::Visitor>::visit_item
  23:     0x7f05b485dbd1 - rustc_hir_analysis[58a31f7655e3c3]::collect::resolve_bound_vars::resolve_bound_vars
  24:     0x7f05b431c576 - rustc_query_impl[7a314159d938cad9]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[7a314159d938cad9]::query_impl::resolve_bound_vars::dynamic_query::{closure#2}::{closure#0}, rustc_middle[a92143083d338f81]::query::erase::Erased<[u8; 8usize]>>
  25:     0x7f05b431c54e - <rustc_query_impl[7a314159d938cad9]::query_impl::resolve_bound_vars::dynamic_query::{closure#2} as core[39f2cadfad9b7192]::ops::function::FnOnce<(rustc_middle[a92143083d338f81]::ty::context::TyCtxt, rustc_hir[99101b9f162f5338]::hir_id::OwnerId)>>::call_once
  26:     0x7f05b41cee8a - rustc_query_system[fcf123a786d6e0bc]::query::plumbing::try_execute_query::<rustc_query_impl[7a314159d938cad9]::DynamicConfig<rustc_query_system[fcf123a786d6e0bc]::query::caches::VecCache<rustc_hir[99101b9f162f5338]::hir_id::OwnerId, rustc_middle[a92143083d338f81]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[7a314159d938cad9]::plumbing::QueryCtxt, false>
  27:     0x7f05b59f1131 - rustc_query_impl[7a314159d938cad9]::query_impl::resolve_bound_vars::get_query_non_incr::__rust_end_short_backtrace
  28:     0x7f05b45db471 - rustc_query_impl[7a314159d938cad9]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[7a314159d938cad9]::query_impl::named_variable_map::dynamic_query::{closure#2}::{closure#0}, rustc_middle[a92143083d338f81]::query::erase::Erased<[u8; 8usize]>>
  29:     0x7f05b45db38e - <rustc_query_impl[7a314159d938cad9]::query_impl::named_variable_map::dynamic_query::{closure#2} as core[39f2cadfad9b7192]::ops::function::FnOnce<(rustc_middle[a92143083d338f81]::ty::context::TyCtxt, rustc_hir[99101b9f162f5338]::hir_id::OwnerId)>>::call_once
  30:     0x7f05b41cee8a - rustc_query_system[fcf123a786d6e0bc]::query::plumbing::try_execute_query::<rustc_query_impl[7a314159d938cad9]::DynamicConfig<rustc_query_system[fcf123a786d6e0bc]::query::caches::VecCache<rustc_hir[99101b9f162f5338]::hir_id::OwnerId, rustc_middle[a92143083d338f81]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[7a314159d938cad9]::plumbing::QueryCtxt, false>
  31:     0x7f05b59ebe91 - rustc_query_impl[7a314159d938cad9]::query_impl::named_variable_map::get_query_non_incr::__rust_end_short_backtrace
  32:     0x7f05b524ab20 - <rustc_middle[a92143083d338f81]::ty::context::TyCtxt>::named_bound_var
  33:     0x7f05b524a239 - <dyn rustc_hir_analysis[58a31f7655e3c3]::astconv::AstConv>::ast_region_to_region
  34:     0x7f05b5248bd1 - rustc_hir_analysis[58a31f7655e3c3]::astconv::generics::create_substs_for_generic_args::<<dyn rustc_hir_analysis[58a31f7655e3c3]::astconv::AstConv>::create_substs_for_ast_path::{closure#0}::SubstsForAstPathCtxt>
  35:     0x7f05b43d0b4a - <dyn rustc_hir_analysis[58a31f7655e3c3]::astconv::AstConv>::ast_path_to_mono_trait_ref
  36:     0x7f05b43cfac6 - <dyn rustc_hir_analysis[58a31f7655e3c3]::astconv::AstConv>::instantiate_mono_trait_ref
  37:     0x7f05b43cf42e - rustc_hir_analysis[58a31f7655e3c3]::collect::impl_trait_ref
  38:     0x7f05b43ce3d6 - rustc_query_impl[7a314159d938cad9]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[7a314159d938cad9]::query_impl::impl_trait_ref::dynamic_query::{closure#2}::{closure#0}, rustc_middle[a92143083d338f81]::query::erase::Erased<[u8; 16usize]>>
  39:     0x7f05b40e3e6b - rustc_query_system[fcf123a786d6e0bc]::query::plumbing::try_execute_query::<rustc_query_impl[7a314159d938cad9]::DynamicConfig<rustc_query_system[fcf123a786d6e0bc]::query::caches::DefaultCache<rustc_span[c131c644fb7cb5fa]::def_id::DefId, rustc_middle[a92143083d338f81]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[7a314159d938cad9]::plumbing::QueryCtxt, false>
  40:     0x7f05b40e3b53 - rustc_query_impl[7a314159d938cad9]::query_impl::impl_trait_ref::get_query_non_incr::__rust_end_short_backtrace
  41:     0x7f05b46e482c - <rustc_hir_analysis[58a31f7655e3c3]::collect::CollectItemTypesVisitor as rustc_hir[99101b9f162f5338]::intravisit::Visitor>::visit_item
  42:     0x7f05b46e1d84 - <rustc_middle[a92143083d338f81]::hir::map::Map>::visit_item_likes_in_module::<rustc_hir_analysis[58a31f7655e3c3]::collect::CollectItemTypesVisitor>
  43:     0x7f05b46e1c9c - rustc_hir_analysis[58a31f7655e3c3]::collect::collect_mod_item_types
  44:     0x7f05b4d05b0c - rustc_query_impl[7a314159d938cad9]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[7a314159d938cad9]::query_impl::collect_mod_item_types::dynamic_query::{closure#2}::{closure#0}, rustc_middle[a92143083d338f81]::query::erase::Erased<[u8; 0usize]>>
  45:     0x7f05b4d05aee - <rustc_query_impl[7a314159d938cad9]::query_impl::collect_mod_item_types::dynamic_query::{closure#2} as core[39f2cadfad9b7192]::ops::function::FnOnce<(rustc_middle[a92143083d338f81]::ty::context::TyCtxt, rustc_span[c131c644fb7cb5fa]::def_id::LocalDefId)>>::call_once
  46:     0x7f05b470065f - rustc_query_system[fcf123a786d6e0bc]::query::plumbing::try_execute_query::<rustc_query_impl[7a314159d938cad9]::DynamicConfig<rustc_query_system[fcf123a786d6e0bc]::query::caches::VecCache<rustc_span[c131c644fb7cb5fa]::def_id::LocalDefId, rustc_middle[a92143083d338f81]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[7a314159d938cad9]::plumbing::QueryCtxt, false>
  47:     0x7f05b59ce0c4 - rustc_query_impl[7a314159d938cad9]::query_impl::collect_mod_item_types::get_query_non_incr::__rust_end_short_backtrace
  48:     0x7f05b54b08c7 - <rustc_middle[a92143083d338f81]::hir::map::Map>::for_each_module::<rustc_hir_analysis[58a31f7655e3c3]::check_crate::{closure#0}::{closure#0}::{closure#0}>
  49:     0x7f05b54b0502 - <rustc_session[ba0171e1a42d92f9]::session::Session>::track_errors::<rustc_hir_analysis[58a31f7655e3c3]::check_crate::{closure#0}, ()>
  50:     0x7f05b54aecc1 - rustc_hir_analysis[58a31f7655e3c3]::check_crate
  51:     0x7f05b54a5dda - rustc_interface[6ebb3a637cfebd5]::passes::analysis
  52:     0x7f05b553368a - rustc_query_impl[7a314159d938cad9]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[7a314159d938cad9]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[a92143083d338f81]::query::erase::Erased<[u8; 1usize]>>
  53:     0x7f05b5533679 - <rustc_query_impl[7a314159d938cad9]::query_impl::analysis::dynamic_query::{closure#2} as core[39f2cadfad9b7192]::ops::function::FnOnce<(rustc_middle[a92143083d338f81]::ty::context::TyCtxt, ())>>::call_once
  54:     0x7f05b56ad878 - rustc_query_system[fcf123a786d6e0bc]::query::plumbing::try_execute_query::<rustc_query_impl[7a314159d938cad9]::DynamicConfig<rustc_query_system[fcf123a786d6e0bc]::query::caches::SingleCache<rustc_middle[a92143083d338f81]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[7a314159d938cad9]::plumbing::QueryCtxt, false>
  55:     0x7f05b56ad649 - rustc_query_impl[7a314159d938cad9]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
  56:     0x7f05b525d455 - <rustc_middle[a92143083d338f81]::ty::context::GlobalCtxt>::enter::<rustc_driver_impl[c8224e60c583ce9e]::run_compiler::{closure#1}::{closure#2}::{closure#4}, core[39f2cadfad9b7192]::result::Result<(), rustc_span[c131c644fb7cb5fa]::ErrorGuaranteed>>
  57:     0x7f05b525ca82 - <rustc_interface[6ebb3a637cfebd5]::interface::Compiler>::enter::<rustc_driver_impl[c8224e60c583ce9e]::run_compiler::{closure#1}::{closure#2}, core[39f2cadfad9b7192]::result::Result<core[39f2cadfad9b7192]::option::Option<rustc_interface[6ebb3a637cfebd5]::queries::Linker>, rustc_span[c131c644fb7cb5fa]::ErrorGuaranteed>>
  58:     0x7f05b5253795 - rustc_span[c131c644fb7cb5fa]::set_source_map::<core[39f2cadfad9b7192]::result::Result<(), rustc_span[c131c644fb7cb5fa]::ErrorGuaranteed>, rustc_interface[6ebb3a637cfebd5]::interface::run_compiler<core[39f2cadfad9b7192]::result::Result<(), rustc_span[c131c644fb7cb5fa]::ErrorGuaranteed>, rustc_driver_impl[c8224e60c583ce9e]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
  59:     0x7f05b5253206 - <scoped_tls[8bf4edb3452830f]::ScopedKey<rustc_span[c131c644fb7cb5fa]::SessionGlobals>>::set::<rustc_interface[6ebb3a637cfebd5]::interface::run_compiler<core[39f2cadfad9b7192]::result::Result<(), rustc_span[c131c644fb7cb5fa]::ErrorGuaranteed>, rustc_driver_impl[c8224e60c583ce9e]::run_compiler::{closure#1}>::{closure#0}, core[39f2cadfad9b7192]::result::Result<(), rustc_span[c131c644fb7cb5fa]::ErrorGuaranteed>>
  60:     0x7f05b52527cc - std[fa0d0b5c306c9702]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[6ebb3a637cfebd5]::util::run_in_thread_pool_with_globals<rustc_interface[6ebb3a637cfebd5]::interface::run_compiler<core[39f2cadfad9b7192]::result::Result<(), rustc_span[c131c644fb7cb5fa]::ErrorGuaranteed>, rustc_driver_impl[c8224e60c583ce9e]::run_compiler::{closure#1}>::{closure#0}, core[39f2cadfad9b7192]::result::Result<(), rustc_span[c131c644fb7cb5fa]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[39f2cadfad9b7192]::result::Result<(), rustc_span[c131c644fb7cb5fa]::ErrorGuaranteed>>
  61:     0x7f05b5252595 - <<std[fa0d0b5c306c9702]::thread::Builder>::spawn_unchecked_<rustc_interface[6ebb3a637cfebd5]::util::run_in_thread_pool_with_globals<rustc_interface[6ebb3a637cfebd5]::interface::run_compiler<core[39f2cadfad9b7192]::result::Result<(), rustc_span[c131c644fb7cb5fa]::ErrorGuaranteed>, rustc_driver_impl[c8224e60c583ce9e]::run_compiler::{closure#1}>::{closure#0}, core[39f2cadfad9b7192]::result::Result<(), rustc_span[c131c644fb7cb5fa]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[39f2cadfad9b7192]::result::Result<(), rustc_span[c131c644fb7cb5fa]::ErrorGuaranteed>>::{closure#1} as core[39f2cadfad9b7192]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  62:     0x7f05b2d71315 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h21ee91033946694b
                               at /rustc/d9c13cd4531649c2028a8384cb4d4e54f985380e/library/alloc/src/boxed.rs:2010:9
  63:     0x7f05b2d71315 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hdf07228f28997b56
                               at /rustc/d9c13cd4531649c2028a8384cb4d4e54f985380e/library/alloc/src/boxed.rs:2010:9
  64:     0x7f05b2d71315 - std::sys::unix::thread::Thread::new::thread_start::h79fe093c0599c14c
                               at /rustc/d9c13cd4531649c2028a8384cb4d4e54f985380e/library/std/src/sys/unix/thread.rs:108:17
  65:     0x7f05b2b0444b - <unknown>
  66:     0x7f05b2b87e40 - <unknown>
  67:                0x0 - <unknown>

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.72.0-nightly (d9c13cd45 2023-07-05) running on x86_64-unknown-linux-gnu

query stack during panic:
#0 [resolve_bound_vars] resolving lifetimes
#1 [named_variable_map] looking up a named region
#2 [impl_trait_ref] computing trait implemented by `<impl at treereduce.out:6:1: 6:32>`
#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; 1 warning emitted

Some errors have detailed explanations: E0496, E0601, E0726.
For more information about an error, try `rustc --explain E0496`.

@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. requires-nightly This issue requires a nightly compiler in some way. F-return_type_notation `#[feature(return_type_notation)]` labels Jul 6, 2023
@compiler-errors compiler-errors self-assigned this Jul 6, 2023
@matthiaskrgr
Copy link
Member Author

Regression in 7402519

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. F-return_type_notation `#[feature(return_type_notation)]` I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ requires-nightly This issue requires a nightly compiler in some way. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
2 participants