rust-lang / rust

Empowering everyone to build reliable and efficient software.
https://www.rust-lang.org
Other
94.89k stars 12.23k forks source link

ICE: `could not resolve DefId ` #125843

Open matthiaskrgr opened 1 month ago

matthiaskrgr commented 1 month ago

snippet:

#![feature(non_lifetime_binders)]
trait v0<> {}
fn kind  :(v3main impl for<v4> v0<'_, v2 = impl v0<v4> + '_>) {}

Version information

rustc 1.80.0-nightly (20be84a7e 2024-05-31)
binary: rustc
commit-hash: 20be84a7e62af0a623af4bfb75df6d30cb39d6d0
commit-date: 2024-05-31
host: x86_64-unknown-linux-gnu
release: 1.80.0-nightly
LLVM version: 18.1.6

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

Program output

``` error: missing parameters for function definition --> /tmp/icemaker_global_tempdir.yFJFzLnlbeHE/rustc_testrunner_tmpdir_reporting.BHN55D02MAM3/mvce.rs:3:8 | 3 | fn kind :(v3main impl for v0<'_, v2 = impl v0 + '_>) {} | ^ help: add a parameter list error: return types are denoted using `->` --> /tmp/icemaker_global_tempdir.yFJFzLnlbeHE/rustc_testrunner_tmpdir_reporting.BHN55D02MAM3/mvce.rs:3:10 | 3 | fn kind :(v3main impl for v0<'_, v2 = impl v0 + '_>) {} | ^ help: use `->` instead error: expected one of `!`, `(`, `)`, `+`, `,`, `::`, or `<`, found keyword `impl` --> /tmp/icemaker_global_tempdir.yFJFzLnlbeHE/rustc_testrunner_tmpdir_reporting.BHN55D02MAM3/mvce.rs:3:19 | 3 | fn kind :(v3main impl for v0<'_, v2 = impl v0 + '_>) {} | -^^^^ expected one of 7 possible tokens | | | help: missing `,` error[E0106]: missing lifetime specifiers --> /tmp/icemaker_global_tempdir.yFJFzLnlbeHE/rustc_testrunner_tmpdir_reporting.BHN55D02MAM3/mvce.rs:3:35 | 3 | fn kind :(v3main impl for v0<'_, v2 = impl v0 + '_>) {} | ^^ ^^ expected named lifetime parameter | | | expected named lifetime parameter | = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static` | 3 | fn kind :(v3main impl for v0<'static, v2 = impl v0 + 'static>) {} | ~~~~~~~ ~~~~~~~ error[E0412]: cannot find type `v3main` in this scope --> /tmp/icemaker_global_tempdir.yFJFzLnlbeHE/rustc_testrunner_tmpdir_reporting.BHN55D02MAM3/mvce.rs:3:12 | 3 | fn kind :(v3main impl for v0<'_, v2 = impl v0 + '_>) {} | ^^^^^^ not found in this scope warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes --> /tmp/icemaker_global_tempdir.yFJFzLnlbeHE/rustc_testrunner_tmpdir_reporting.BHN55D02MAM3/mvce.rs:1:12 | 1 | #![feature(non_lifetime_binders)] | ^^^^^^^^^^^^^^^^^^^^ | = note: see issue #108185 for more information = note: `#[warn(incomplete_features)]` on by default warning: trait `v0` should have an upper camel case name --> /tmp/icemaker_global_tempdir.yFJFzLnlbeHE/rustc_testrunner_tmpdir_reporting.BHN55D02MAM3/mvce.rs:2:7 | 2 | trait v0<> {} | ^^ help: convert the identifier to upper camel case (notice the capitalization): `V0` | = note: `#[warn(non_camel_case_types)]` on by default warning: type parameter `v4` should have an upper camel case name --> /tmp/icemaker_global_tempdir.yFJFzLnlbeHE/rustc_testrunner_tmpdir_reporting.BHN55D02MAM3/mvce.rs:3:28 | 3 | fn kind :(v3main impl for v0<'_, v2 = impl v0 + '_>) {} | ^^ help: convert the identifier to upper camel case (notice the capitalization): `V4` error[E0601]: `main` function not found in crate `mvce` --> /tmp/icemaker_global_tempdir.yFJFzLnlbeHE/rustc_testrunner_tmpdir_reporting.BHN55D02MAM3/mvce.rs:3:65 | 3 | fn kind :(v3main impl for v0<'_, v2 = impl v0 + '_>) {} | ^ consider adding a `main` function to `/tmp/icemaker_global_tempdir.yFJFzLnlbeHE/rustc_testrunner_tmpdir_reporting.BHN55D02MAM3/mvce.rs` error[E0107]: trait takes 0 lifetime arguments but 1 lifetime argument was supplied --> /tmp/icemaker_global_tempdir.yFJFzLnlbeHE/rustc_testrunner_tmpdir_reporting.BHN55D02MAM3/mvce.rs:3:32 | 3 | fn kind :(v3main impl for v0<'_, v2 = impl v0 + '_>) {} | ^^--------------------------- help: remove these generics | | | expected 0 lifetime arguments | note: trait defined here, with 0 lifetime parameters --> /tmp/icemaker_global_tempdir.yFJFzLnlbeHE/rustc_testrunner_tmpdir_reporting.BHN55D02MAM3/mvce.rs:2:7 | 2 | trait v0<> {} | ^^ error[E0220]: associated type `v2` not found for `v0` --> /tmp/icemaker_global_tempdir.yFJFzLnlbeHE/rustc_testrunner_tmpdir_reporting.BHN55D02MAM3/mvce.rs:3:39 | 3 | fn kind :(v3main impl for v0<'_, v2 = impl v0 + '_>) {} | ^^ associated type `v2` not found error[E0107]: trait takes 0 generic arguments but 1 generic argument was supplied --> /tmp/icemaker_global_tempdir.yFJFzLnlbeHE/rustc_testrunner_tmpdir_reporting.BHN55D02MAM3/mvce.rs:3:49 | 3 | fn kind :(v3main impl for v0<'_, v2 = impl v0 + '_>) {} | ^^---- help: remove these generics | | | expected 0 generic arguments | note: trait defined here, with 0 generic parameters --> /tmp/icemaker_global_tempdir.yFJFzLnlbeHE/rustc_testrunner_tmpdir_reporting.BHN55D02MAM3/mvce.rs:2:7 | 2 | trait v0<> {} | ^^ error: internal compiler error: could not resolve DefId(0:5 ~ mvce[3fa6]::kind::v4) --> /tmp/icemaker_global_tempdir.yFJFzLnlbeHE/rustc_testrunner_tmpdir_reporting.BHN55D02MAM3/mvce.rs:3:52 | 3 | fn kind :(v3main impl for v0<'_, v2 = impl v0 + '_>) {} | ^^ thread 'rustc' panicked at compiler/rustc_hir_analysis/src/collect/resolve_bound_vars.rs:1461:14: Box stack backtrace: 0: 0x71a645c53cc5 - std::backtrace_rs::backtrace::libunwind::trace::h9f3d70c9733d841d at /rustc/20be84a7e62af0a623af4bfb75df6d30cb39d6d0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5 1: 0x71a645c53cc5 - std::backtrace_rs::backtrace::trace_unsynchronized::h18a7c2b106fba01e at /rustc/20be84a7e62af0a623af4bfb75df6d30cb39d6d0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 2: 0x71a645c53cc5 - std::sys_common::backtrace::_print_fmt::h51b9aab95f9337b6 at /rustc/20be84a7e62af0a623af4bfb75df6d30cb39d6d0/library/std/src/sys_common/backtrace.rs:68:5 3: 0x71a645c53cc5 - ::fmt::h5962f96b03d62e09 at /rustc/20be84a7e62af0a623af4bfb75df6d30cb39d6d0/library/std/src/sys_common/backtrace.rs:44:22 4: 0x71a645ca46bb - core::fmt::rt::Argument::fmt::hf535dbee9d8bf491 at /rustc/20be84a7e62af0a623af4bfb75df6d30cb39d6d0/library/core/src/fmt/rt.rs:165:63 5: 0x71a645ca46bb - core::fmt::write::h715ab647ff75b718 at /rustc/20be84a7e62af0a623af4bfb75df6d30cb39d6d0/library/core/src/fmt/mod.rs:1168:21 6: 0x71a645c48a4f - std::io::Write::write_fmt::h51a61126f28423f0 at /rustc/20be84a7e62af0a623af4bfb75df6d30cb39d6d0/library/std/src/io/mod.rs:1835:15 7: 0x71a645c53a9e - std::sys_common::backtrace::_print::hb5bb864cf394908c at /rustc/20be84a7e62af0a623af4bfb75df6d30cb39d6d0/library/std/src/sys_common/backtrace.rs:47:5 8: 0x71a645c53a9e - std::sys_common::backtrace::print::h9808ce89dcfc167b at /rustc/20be84a7e62af0a623af4bfb75df6d30cb39d6d0/library/std/src/sys_common/backtrace.rs:34:9 9: 0x71a645c564d9 - std::panicking::default_hook::{{closure}}::h8d21bb511b5c1e78 10: 0x71a645c5627a - std::panicking::default_hook::h4b2c758dea5df587 at /rustc/20be84a7e62af0a623af4bfb75df6d30cb39d6d0/library/std/src/panicking.rs:298:9 11: 0x71a64232ee6f - std[b00b182216382e6e]::panicking::update_hook::>::{closure#0} 12: 0x71a645c56c0b - as core::ops::function::Fn>::call::h8924c01e9ca42ec1 at /rustc/20be84a7e62af0a623af4bfb75df6d30cb39d6d0/library/alloc/src/boxed.rs:2077:9 13: 0x71a645c56c0b - std::panicking::rust_panic_with_hook::h0e8c82a619b41cae at /rustc/20be84a7e62af0a623af4bfb75df6d30cb39d6d0/library/std/src/panicking.rs:799:13 14: 0x71a64235ef34 - std[b00b182216382e6e]::panicking::begin_panic::::{closure#0} 15: 0x71a64235bb36 - std[b00b182216382e6e]::sys_common::backtrace::__rust_end_short_backtrace::::{closure#0}, !> 16: 0x71a64235b816 - std[b00b182216382e6e]::panicking::begin_panic:: 17: 0x71a6423683b1 - ::emit_producing_guarantee 18: 0x71a6423e05a8 - ::span_bug:: 19: 0x71a64443a15d - ::resolve_type_ref 20: 0x71a640bd63c8 - rustc_hir[ee96af3dfdcd5f01]::intravisit::walk_qpath:: 21: 0x71a640bd0f49 - ::visit_path 22: 0x71a6444337af - ::visit_poly_trait_ref_inner 23: 0x71a644436a89 - rustc_hir[ee96af3dfdcd5f01]::intravisit::walk_item:: 24: 0x71a6444361af - ::visit_item 25: 0x71a644001d18 - rustc_hir_analysis[3427582cd7078f06]::collect::resolve_bound_vars::resolve_bound_vars 26: 0x71a6440018b7 - rustc_query_impl[7198874a8352ad7b]::plumbing::__rust_begin_short_backtrace::> 27: 0x71a643ffc05b - rustc_query_system[2bc1932167c59c8e]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[7198874a8352ad7b]::plumbing::QueryCtxt, false> 28: 0x71a643ffba19 - rustc_query_impl[7198874a8352ad7b]::query_impl::resolve_bound_vars::get_query_non_incr::__rust_end_short_backtrace 29: 0x71a643ffb8cc - rustc_query_impl[7198874a8352ad7b]::plumbing::__rust_begin_short_backtrace::> 30: 0x71a643ffc05b - rustc_query_system[2bc1932167c59c8e]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[7198874a8352ad7b]::plumbing::QueryCtxt, false> 31: 0x71a643ffbb8d - rustc_query_impl[7198874a8352ad7b]::query_impl::late_bound_vars_map::get_query_non_incr::__rust_end_short_backtrace 32: 0x71a643ff8d8d - ::late_bound_vars 33: 0x71a6445468f0 - ::lower_poly_trait_ref 34: 0x71a644542db8 - ::lower_mono_bounds 35: 0x71a6444fbc30 - rustc_hir_analysis[3427582cd7078f06]::collect::item_bounds::opaque_type_bounds 36: 0x71a6444faaae - rustc_hir_analysis[3427582cd7078f06]::collect::item_bounds::explicit_item_bounds_with_filter 37: 0x71a6444fa654 - rustc_hir_analysis[3427582cd7078f06]::collect::item_bounds::explicit_item_bounds 38: 0x71a6444fa635 - rustc_query_impl[7198874a8352ad7b]::plumbing::__rust_begin_short_backtrace::> 39: 0x71a6444fa609 - >::call_once 40: 0x71a643e234dc - rustc_query_system[2bc1932167c59c8e]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[7198874a8352ad7b]::plumbing::QueryCtxt, false> 41: 0x71a643e27af9 - rustc_query_impl[7198874a8352ad7b]::query_impl::explicit_item_bounds::get_query_non_incr::__rust_end_short_backtrace 42: 0x71a6443a500f - ::visit_item 43: 0x71a64439ac44 - rustc_hir_analysis[3427582cd7078f06]::check::wfcheck::check_well_formed 44: 0x71a64439ab47 - rustc_query_impl[7198874a8352ad7b]::plumbing::__rust_begin_short_backtrace::> 45: 0x71a64439a2e6 - rustc_query_system[2bc1932167c59c8e]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[7198874a8352ad7b]::plumbing::QueryCtxt, false> 46: 0x71a64439a064 - rustc_query_impl[7198874a8352ad7b]::query_impl::check_well_formed::get_query_non_incr::__rust_end_short_backtrace 47: 0x71a644397f37 - rustc_hir_analysis[3427582cd7078f06]::check::wfcheck::check_mod_type_wf 48: 0x71a644397d61 - rustc_query_impl[7198874a8352ad7b]::plumbing::__rust_begin_short_backtrace::> 49: 0x71a644289f30 - rustc_query_system[2bc1932167c59c8e]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[7198874a8352ad7b]::plumbing::QueryCtxt, false> 50: 0x71a644289cd9 - rustc_query_impl[7198874a8352ad7b]::query_impl::check_mod_type_wf::get_query_non_incr::__rust_end_short_backtrace 51: 0x71a643e2d94c - rustc_hir_analysis[3427582cd7078f06]::check_crate 52: 0x71a643e46d3e - rustc_interface[36e11d5fade2f9e3]::passes::analysis 53: 0x71a643e4689b - rustc_query_impl[7198874a8352ad7b]::plumbing::__rust_begin_short_backtrace::> 54: 0x71a6445d43a5 - rustc_query_system[2bc1932167c59c8e]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[7198874a8352ad7b]::plumbing::QueryCtxt, false> 55: 0x71a6445d410f - rustc_query_impl[7198874a8352ad7b]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace 56: 0x71a644444edc - rustc_interface[36e11d5fade2f9e3]::interface::run_compiler::, rustc_driver_impl[76688ae60f501fda]::run_compiler::{closure#0}>::{closure#1} 57: 0x71a6444302c9 - std[b00b182216382e6e]::sys_common::backtrace::__rust_begin_short_backtrace::, rustc_driver_impl[76688ae60f501fda]::run_compiler::{closure#0}>::{closure#1}, core[9b5a30cfc7641096]::result::Result<(), rustc_span[56a58ca3bbf1d657]::ErrorGuaranteed>>::{closure#0}, core[9b5a30cfc7641096]::result::Result<(), rustc_span[56a58ca3bbf1d657]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[9b5a30cfc7641096]::result::Result<(), rustc_span[56a58ca3bbf1d657]::ErrorGuaranteed>> 58: 0x71a644430080 - <::spawn_unchecked_, rustc_driver_impl[76688ae60f501fda]::run_compiler::{closure#0}>::{closure#1}, core[9b5a30cfc7641096]::result::Result<(), rustc_span[56a58ca3bbf1d657]::ErrorGuaranteed>>::{closure#0}, core[9b5a30cfc7641096]::result::Result<(), rustc_span[56a58ca3bbf1d657]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[9b5a30cfc7641096]::result::Result<(), rustc_span[56a58ca3bbf1d657]::ErrorGuaranteed>>::{closure#2} as core[9b5a30cfc7641096]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} 59: 0x71a645c60bfb - as core::ops::function::FnOnce>::call_once::hcf19ff9fb573dd5c at /rustc/20be84a7e62af0a623af4bfb75df6d30cb39d6d0/library/alloc/src/boxed.rs:2063:9 60: 0x71a645c60bfb - as core::ops::function::FnOnce>::call_once::h911d5926b91dbfb2 at /rustc/20be84a7e62af0a623af4bfb75df6d30cb39d6d0/library/alloc/src/boxed.rs:2063:9 61: 0x71a645c60bfb - std::sys::pal::unix::thread::Thread::new::thread_start::h763866eb5216580e at /rustc/20be84a7e62af0a623af4bfb75df6d30cb39d6d0/library/std/src/sys/pal/unix/thread.rs:108:17 62: 0x71a6459fd1cf - 63: 0x71a645a7e6ec - 64: 0x0 - 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.80.0-nightly (20be84a7e 2024-05-31) running on x86_64-unknown-linux-gnu query stack during panic: #0 [resolve_bound_vars] resolving lifetimes #1 [late_bound_vars_map] looking up late bound vars end of query stack error: aborting due to 10 previous errors; 3 warnings emitted Some errors have detailed explanations: E0106, E0107, E0220, E0412, E0601. For more information about an error, try `rustc --explain E0106`. ```

@rustbot label +F-non_lifetime_binders

GrigorenkoPV commented 2 weeks ago

searched nightlies: from nightly-2022-02-19 to nightly-2024-06-19 regressed nightly: nightly-2024-02-22 searched commit range: https://github.com/rust-lang/rust/compare/bb594538fc6e84213a6b8d5e165442570aa48923...3406ada96f8e16e49e947a91db3eba0db45245fa regressed commit: https://github.com/rust-lang/rust/commit/1d447a9946effc38c4b964a888ab408a3df3c246 (#121383, a rollup)