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: late diagnostics: no entry found for key #124342

Closed
matthiaskrgr opened this issue Apr 24, 2024 · 3 comments · Fixed by #126234
Closed

ICE: late diagnostics: no entry found for key #124342

matthiaskrgr opened this issue Apr 24, 2024 · 3 comments · Fixed by #126234
Labels
C-bug Category: This is a bug. F-fn_delegation `#![feature(fn_delegation)]` I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ S-bug-has-test Status: This bug is tracked inside the repo by a `known-bug` test. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@matthiaskrgr
Copy link
Member

auto-reduced (treereduce-rust):

struct F;



mod trait_impl_assoc_fn_to_other {
    impl Trait for S {
         { &self.0 };
    }
}

mod trait_assoc_fn_to_other {
    trait Trait2 : Trait {
        reuse <F as Trait>::foo1 { self }
        reuse <F as Trait>::async {
        (async || {}).await;
    };
    }
}

original:

struct F;

mod inherent_impl_assoc_fn_to_other {
    impl S {
        reuse  { &self.0 }:
    }
}

mod trait_impl_assoc_fn_to_other {
    impl Trait for S {
         { &self.0 };
    }
}

mod trait_assoc_fn_to_other {
    trait Trait2 : Trait {
        reuse <F as Trait>::foo1 { self }
        reuse <F as Trait>::async {
        (async || {}).await;
    };
    }
}

Version information

rustc 1.79.0-nightly (5557f8c9d 2024-04-24)
binary: rustc
commit-hash: 5557f8c9d08d7f3f680943dcf97b6d4a7eb13aea
commit-date: 2024-04-24
host: x86_64-unknown-linux-gnu
release: 1.79.0-nightly
LLVM version: 18.1.4

Command:
/home/matthias/.rustup/toolchains/master/bin/rustc

Program output

error: non-item in item list
 --> /tmp/icemaker_global_tempdir.M3N7dC1mVrpT/rustc_testrunner_tmpdir_reporting.vKvtjneSE3Fp/mvce.rs:7:10
  |
6 |     impl Trait for S {
  |                      - item list starts here
7 |          { &self.0 };
  |          ^ non-item starts here
8 |     }
  |     - item list ends here

error: non-item in item list
  --> /tmp/icemaker_global_tempdir.M3N7dC1mVrpT/rustc_testrunner_tmpdir_reporting.vKvtjneSE3Fp/mvce.rs:16:6
   |
12 |     trait Trait2 : Trait {
   |                          - item list starts here
...
16 |     };
   |      ^
   |      |
   |      non-item starts here
   |      help: consider removing this semicolon
17 |     }
   |     - item list ends here

thread 'rustc' panicked at compiler/rustc_resolve/src/late/diagnostics.rs:2042:57:
no entry found for key
stack backtrace:
   0:     0x753ac50d9145 - std::backtrace_rs::backtrace::libunwind::trace::h0ff13331e72566cc
                               at /rustc/5557f8c9d08d7f3f680943dcf97b6d4a7eb13aea/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
   1:     0x753ac50d9145 - std::backtrace_rs::backtrace::trace_unsynchronized::h9d4b1bd64e902543
                               at /rustc/5557f8c9d08d7f3f680943dcf97b6d4a7eb13aea/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x753ac50d9145 - std::sys_common::backtrace::_print_fmt::h081005de9057cbf5
                               at /rustc/5557f8c9d08d7f3f680943dcf97b6d4a7eb13aea/library/std/src/sys_common/backtrace.rs:68:5
   3:     0x753ac50d9145 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h15fc700db6edae7e
                               at /rustc/5557f8c9d08d7f3f680943dcf97b6d4a7eb13aea/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x753ac512821b - core::fmt::rt::Argument::fmt::h59f9e72725aff3b8
                               at /rustc/5557f8c9d08d7f3f680943dcf97b6d4a7eb13aea/library/core/src/fmt/rt.rs:165:63
   5:     0x753ac512821b - core::fmt::write::h76f096ae855823be
                               at /rustc/5557f8c9d08d7f3f680943dcf97b6d4a7eb13aea/library/core/src/fmt/mod.rs:1157:21
   6:     0x753ac50cdccf - std::io::Write::write_fmt::h7abe2202f1b29460
                               at /rustc/5557f8c9d08d7f3f680943dcf97b6d4a7eb13aea/library/std/src/io/mod.rs:1832:15
   7:     0x753ac50d8f1e - std::sys_common::backtrace::_print::hdf7c2b7f623e9652
                               at /rustc/5557f8c9d08d7f3f680943dcf97b6d4a7eb13aea/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x753ac50d8f1e - std::sys_common::backtrace::print::h75f08b3d9123bba1
                               at /rustc/5557f8c9d08d7f3f680943dcf97b6d4a7eb13aea/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x753ac50db889 - std::panicking::default_hook::{{closure}}::hb3b1ba32e53d5e85
  10:     0x753ac50db5cd - std::panicking::default_hook::h99e57d8f75c65ecf
                               at /rustc/5557f8c9d08d7f3f680943dcf97b6d4a7eb13aea/library/std/src/panicking.rs:298:9
  11:     0x753ac1a41a0c - std[1f3cc3a786ce7ca9]::panicking::update_hook::<alloc[dbe0d48a65192cd7]::boxed::Box<rustc_driver_impl[529b3142d24d9c0c]::install_ice_hook::{closure#0}>>::{closure#0}
  12:     0x753ac50dbf86 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hcfaaf51e4544653c
                               at /rustc/5557f8c9d08d7f3f680943dcf97b6d4a7eb13aea/library/alloc/src/boxed.rs:2036:9
  13:     0x753ac50dbf86 - std::panicking::rust_panic_with_hook::h9c2cbfe157b51a67
                               at /rustc/5557f8c9d08d7f3f680943dcf97b6d4a7eb13aea/library/std/src/panicking.rs:799:13
  14:     0x753ac50dbd34 - std::panicking::begin_panic_handler::{{closure}}::h2dbcfcd80b7dc0c4
                               at /rustc/5557f8c9d08d7f3f680943dcf97b6d4a7eb13aea/library/std/src/panicking.rs:664:13
  15:     0x753ac50d9609 - std::sys_common::backtrace::__rust_end_short_backtrace::h75ccad1bb6b02b8a
                               at /rustc/5557f8c9d08d7f3f680943dcf97b6d4a7eb13aea/library/std/src/sys_common/backtrace.rs:171:18
  16:     0x753ac50dba67 - rust_begin_unwind
                               at /rustc/5557f8c9d08d7f3f680943dcf97b6d4a7eb13aea/library/std/src/panicking.rs:652:5
  17:     0x753ac51246e3 - core::panicking::panic_fmt::hb7ed84b40520c8eb
                               at /rustc/5557f8c9d08d7f3f680943dcf97b6d4a7eb13aea/library/core/src/panicking.rs:72:14
  18:     0x753ac512489c - core::panicking::panic_display::ha1bfdebbc7cfd192
                               at /rustc/5557f8c9d08d7f3f680943dcf97b6d4a7eb13aea/library/core/src/panicking.rs:263:5
  19:     0x753ac512448c - core::option::expect_failed::hdd1a71408332732c
                               at /rustc/5557f8c9d08d7f3f680943dcf97b6d4a7eb13aea/library/core/src/option.rs:1994:5
  20:     0x753ac235652d - <rustc_resolve[139fe3533e37bc7b]::late::LateResolutionVisitor>::try_lookup_name_relaxed
  21:     0x753ac23482bb - <rustc_resolve[139fe3533e37bc7b]::late::LateResolutionVisitor>::smart_resolve_report_errors
  22:     0x753abffb1877 - <rustc_resolve[139fe3533e37bc7b]::late::LateResolutionVisitor>::smart_resolve_path_fragment::{closure#0}
  23:     0x753ac382dafa - <rustc_resolve[139fe3533e37bc7b]::late::LateResolutionVisitor>::smart_resolve_path_fragment
  24:     0x753ac3833c19 - <rustc_resolve[139fe3533e37bc7b]::late::LateResolutionVisitor>::resolve_expr
  25:     0x753ac3832a29 - <rustc_resolve[139fe3533e37bc7b]::late::LateResolutionVisitor>::resolve_expr
  26:     0x753ac3830f9e - <rustc_resolve[139fe3533e37bc7b]::late::LateResolutionVisitor>::resolve_block
  27:     0x753ac23636d4 - <rustc_resolve[139fe3533e37bc7b]::late::LateResolutionVisitor>::resolve_delegation
  28:     0x753ac381af06 - <rustc_resolve[139fe3533e37bc7b]::late::LateResolutionVisitor as rustc_ast[40ef0baa130c0d37]::visit::Visitor>::visit_item
  29:     0x753ac380ca09 - rustc_ast[40ef0baa130c0d37]::visit::walk_item::<rustc_resolve[139fe3533e37bc7b]::late::LateResolutionVisitor>
  30:     0x753ac3814738 - <rustc_resolve[139fe3533e37bc7b]::late::LateResolutionVisitor as rustc_ast[40ef0baa130c0d37]::visit::Visitor>::visit_item
  31:     0x753ac3e47581 - <rustc_resolve[139fe3533e37bc7b]::Resolver>::resolve_crate::{closure#0}
  32:     0x753ac3e42c9c - <rustc_resolve[139fe3533e37bc7b]::Resolver>::resolve_crate
  33:     0x753ac33f9c6b - rustc_interface[ab711e91de8811a0]::passes::resolver_for_lowering_raw
  34:     0x753ac33f8e9d - rustc_query_impl[3ee10135cbcad228]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[3ee10135cbcad228]::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[a285f3437f39b2c2]::query::erase::Erased<[u8; 16usize]>>
  35:     0x753ac33f8e8b - <rustc_query_impl[3ee10135cbcad228]::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2} as core[266bc4e95965f381]::ops::function::FnOnce<(rustc_middle[a285f3437f39b2c2]::ty::context::TyCtxt, ())>>::call_once
  36:     0x753ac3be3085 - rustc_query_system[f66be17258afb63b]::query::plumbing::try_execute_query::<rustc_query_impl[3ee10135cbcad228]::DynamicConfig<rustc_query_system[f66be17258afb63b]::query::caches::SingleCache<rustc_middle[a285f3437f39b2c2]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[3ee10135cbcad228]::plumbing::QueryCtxt, false>
  37:     0x753ac3be2c01 - rustc_query_impl[3ee10135cbcad228]::query_impl::resolver_for_lowering_raw::get_query_non_incr::__rust_end_short_backtrace
  38:     0x753ac3a32381 - rustc_interface[ab711e91de8811a0]::interface::run_compiler::<core[266bc4e95965f381]::result::Result<(), rustc_span[b06c962b547b236f]::ErrorGuaranteed>, rustc_driver_impl[529b3142d24d9c0c]::run_compiler::{closure#0}>::{closure#1}
  39:     0x753ac3a1c349 - std[1f3cc3a786ce7ca9]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[ab711e91de8811a0]::util::run_in_thread_with_globals<rustc_interface[ab711e91de8811a0]::util::run_in_thread_pool_with_globals<rustc_interface[ab711e91de8811a0]::interface::run_compiler<core[266bc4e95965f381]::result::Result<(), rustc_span[b06c962b547b236f]::ErrorGuaranteed>, rustc_driver_impl[529b3142d24d9c0c]::run_compiler::{closure#0}>::{closure#1}, core[266bc4e95965f381]::result::Result<(), rustc_span[b06c962b547b236f]::ErrorGuaranteed>>::{closure#0}, core[266bc4e95965f381]::result::Result<(), rustc_span[b06c962b547b236f]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[266bc4e95965f381]::result::Result<(), rustc_span[b06c962b547b236f]::ErrorGuaranteed>>
  40:     0x753ac3a1c0fa - <<std[1f3cc3a786ce7ca9]::thread::Builder>::spawn_unchecked_<rustc_interface[ab711e91de8811a0]::util::run_in_thread_with_globals<rustc_interface[ab711e91de8811a0]::util::run_in_thread_pool_with_globals<rustc_interface[ab711e91de8811a0]::interface::run_compiler<core[266bc4e95965f381]::result::Result<(), rustc_span[b06c962b547b236f]::ErrorGuaranteed>, rustc_driver_impl[529b3142d24d9c0c]::run_compiler::{closure#0}>::{closure#1}, core[266bc4e95965f381]::result::Result<(), rustc_span[b06c962b547b236f]::ErrorGuaranteed>>::{closure#0}, core[266bc4e95965f381]::result::Result<(), rustc_span[b06c962b547b236f]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[266bc4e95965f381]::result::Result<(), rustc_span[b06c962b547b236f]::ErrorGuaranteed>>::{closure#2} as core[266bc4e95965f381]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  41:     0x753ac50e5e1b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf8633d479a73f3aa
                               at /rustc/5557f8c9d08d7f3f680943dcf97b6d4a7eb13aea/library/alloc/src/boxed.rs:2022:9
  42:     0x753ac50e5e1b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hde56e39011a54bd8
                               at /rustc/5557f8c9d08d7f3f680943dcf97b6d4a7eb13aea/library/alloc/src/boxed.rs:2022:9
  43:     0x753ac50e5e1b - std::sys::pal::unix::thread::Thread::new::thread_start::h03a9b1cf25d2ad5d
                               at /rustc/5557f8c9d08d7f3f680943dcf97b6d4a7eb13aea/library/std/src/sys/pal/unix/thread.rs:108:17
  44:     0x753abe8a955a - <unknown>
  45:     0x753abe926a3c - <unknown>
  46:                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: please make sure that you have updated to the latest nightly

note: rustc 1.79.0-nightly (5557f8c9d 2024-04-24) running on x86_64-unknown-linux-gnu

query stack during panic:
#0 [resolver_for_lowering_raw] getting the resolver for lowering
end of query stack
error: aborting due to 2 previous errors


@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. labels Apr 24, 2024
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Apr 24, 2024
@matthiaskrgr
Copy link
Member Author

this probably crashes since #122500 but I haven't verified that yet

@matthiaskrgr
Copy link
Member Author

smaller

struct F;

trait Trait2 : Trait {
	reuse <F as Trait>::async {
		(async || {}).await;
	};
}

@matthiaskrgr
Copy link
Member Author

even smaller

trait Trait2 : Trait {
	reuse <() as Trait>::async {
		(async || {}).await;
	};
}

@fmease fmease added requires-incomplete-features This issue requires the use of incomplete features. F-fn_delegation `#![feature(fn_delegation)]` and removed needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. labels Apr 24, 2024
@matthiaskrgr matthiaskrgr added S-bug-has-test Status: This bug is tracked inside the repo by a `known-bug` test. and removed requires-incomplete-features This issue requires the use of incomplete features. labels Apr 24, 2024
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Jun 11, 2024
… r=petrochenkov

Delegation: fix ICE on late diagnostics

fixes rust-lang#124342
@bors bors closed this as completed in 76acf26 Jun 11, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this issue Jun 11, 2024
Rollup merge of rust-lang#126234 - Bryanskiy:delegation-no-entry-ice, r=petrochenkov

Delegation: fix ICE on late diagnostics

fixes rust-lang#124342
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-fn_delegation `#![feature(fn_delegation)]` I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ S-bug-has-test Status: This bug is tracked inside the repo by a `known-bug` test. 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.

3 participants