rust-lang / rust

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

ICE: unnamed fields: `internal compiler error: could not resolve DefId` #126969

Open matthiaskrgr opened 3 months ago

matthiaskrgr commented 3 months ago

auto-reduced (treereduce-rust):

struct S<T> {
    _: union { t: T },
}

fn f(S::<&i8> { .. }: S<&i8>) {}

fn main() {}

original:

//@ check-pass

struct S<T> {
            _: union { t: T },
        }

fn f(S::<&i8> { .. }: S<&i8>) {}

fn main() {
    f(S { _t: &42_i8 });
}

Version information

rustc 1.81.0-nightly (d929a42a6 2024-06-25)
binary: rustc
commit-hash: d929a42a664c026167800801b26d734db925314f
commit-date: 2024-06-25
host: x86_64-unknown-linux-gnu
release: 1.81.0-nightly
LLVM version: 18.1.7

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

Program output

``` error[E0658]: unnamed fields are not yet fully implemented --> /tmp/icemaker_global_tempdir.59Om17fnRflv/rustc_testrunner_tmpdir_reporting.OlpKHT78ftbD/mvce.rs:2:5 | 2 | _: union { t: T }, | ^ | = note: see issue #49804 for more information = help: add `#![feature(unnamed_fields)]` to the crate attributes to enable = note: this compiler was built on 2024-06-25; consider upgrading it if it is out of date error[E0658]: unnamed fields are not yet fully implemented --> /tmp/icemaker_global_tempdir.59Om17fnRflv/rustc_testrunner_tmpdir_reporting.OlpKHT78ftbD/mvce.rs:2:8 | 2 | _: union { t: T }, | ^^^^^^^^^^^^^^ | = note: see issue #49804 for more information = help: add `#![feature(unnamed_fields)]` to the crate attributes to enable = note: this compiler was built on 2024-06-25; consider upgrading it if it is out of date error: internal compiler error: could not resolve DefId(0:4 ~ mvce[81cb]::S::T) --> /tmp/icemaker_global_tempdir.59Om17fnRflv/rustc_testrunner_tmpdir_reporting.OlpKHT78ftbD/mvce.rs:2:19 | 2 | _: union { t: T }, | ^ thread 'rustc' panicked at compiler/rustc_hir_analysis/src/collect/resolve_bound_vars.rs:1461:14: Box stack backtrace: 0: 0x7ae2e7f1d2e5 - std::backtrace_rs::backtrace::libunwind::trace::h3816f17667167091 at /rustc/d929a42a664c026167800801b26d734db925314f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5 1: 0x7ae2e7f1d2e5 - std::backtrace_rs::backtrace::trace_unsynchronized::h05c1a74390e79138 at /rustc/d929a42a664c026167800801b26d734db925314f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 2: 0x7ae2e7f1d2e5 - std::sys::backtrace::_print_fmt::hf9f67f450e2340b3 at /rustc/d929a42a664c026167800801b26d734db925314f/library/std/src/sys/backtrace.rs:68:5 3: 0x7ae2e7f1d2e5 - ::fmt::hd0470f4740d6f066 at /rustc/d929a42a664c026167800801b26d734db925314f/library/std/src/sys/backtrace.rs:44:22 4: 0x7ae2e7f6cceb - core::fmt::rt::Argument::fmt::h70b8a6b09781c530 at /rustc/d929a42a664c026167800801b26d734db925314f/library/core/src/fmt/rt.rs:165:63 5: 0x7ae2e7f6cceb - core::fmt::write::hafea0839d2bbb3f2 at /rustc/d929a42a664c026167800801b26d734db925314f/library/core/src/fmt/mod.rs:1168:21 6: 0x7ae2e7f11f6f - std::io::Write::write_fmt::h781fa7911c53c2fa at /rustc/d929a42a664c026167800801b26d734db925314f/library/std/src/io/mod.rs:1835:15 7: 0x7ae2e7f1d0be - std::sys::backtrace::_print::h864675b81ca0e917 at /rustc/d929a42a664c026167800801b26d734db925314f/library/std/src/sys/backtrace.rs:47:5 8: 0x7ae2e7f1d0be - std::sys::backtrace::print::h077604854516c949 at /rustc/d929a42a664c026167800801b26d734db925314f/library/std/src/sys/backtrace.rs:34:9 9: 0x7ae2e7f1fa09 - std::panicking::default_hook::{{closure}}::h0655bbcac1b3559e 10: 0x7ae2e7f1f7ac - std::panicking::default_hook::ha9e013cc76e074dd at /rustc/d929a42a664c026167800801b26d734db925314f/library/std/src/panicking.rs:292:9 11: 0x7ae2e43eac90 - std[e6dd88f179d4d596]::panicking::update_hook::>::{closure#0} 12: 0x7ae2e7f202df - as core::ops::function::Fn>::call::haac7baf64299a07d at /rustc/d929a42a664c026167800801b26d734db925314f/library/alloc/src/boxed.rs:2078:9 13: 0x7ae2e7f202df - std::panicking::rust_panic_with_hook::h9bfa469549e655b8 at /rustc/d929a42a664c026167800801b26d734db925314f/library/std/src/panicking.rs:804:13 14: 0x7ae2e4424711 - std[e6dd88f179d4d596]::panicking::begin_panic::::{closure#0} 15: 0x7ae2e4417b76 - std[e6dd88f179d4d596]::sys::backtrace::__rust_end_short_backtrace::::{closure#0}, !> 16: 0x7ae2e4417b26 - std[e6dd88f179d4d596]::panicking::begin_panic:: 17: 0x7ae2e442d2c1 - ::emit_producing_guarantee 18: 0x7ae2e44b2398 - ::span_bug:: 19: 0x7ae2e6189478 - ::resolve_type_ref 20: 0x7ae2e2f7a430 - rustc_hir[ca0bf1aa5980ff5d]::intravisit::walk_qpath:: 21: 0x7ae2e618efd1 - rustc_hir[ca0bf1aa5980ff5d]::intravisit::walk_item:: 22: 0x7ae2e618e19a - ::visit_item 23: 0x7ae2e61927de - rustc_hir_analysis[6239ffc5e5ec24c9]::collect::resolve_bound_vars::resolve_bound_vars 24: 0x7ae2e6192437 - rustc_query_impl[b034b92d40b1d47d]::plumbing::__rust_begin_short_backtrace::> 25: 0x7ae2e5c6419f - rustc_query_system[4a94863d7e85f976]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[b034b92d40b1d47d]::plumbing::QueryCtxt, false> 26: 0x7ae2e5c63b51 - rustc_query_impl[b034b92d40b1d47d]::query_impl::resolve_bound_vars::get_query_non_incr::__rust_end_short_backtrace 27: 0x7ae2e5c64f71 - rustc_query_impl[b034b92d40b1d47d]::plumbing::__rust_begin_short_backtrace::> 28: 0x7ae2e5c6419f - rustc_query_system[4a94863d7e85f976]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[b034b92d40b1d47d]::plumbing::QueryCtxt, false> 29: 0x7ae2e5c63c0d - rustc_query_impl[b034b92d40b1d47d]::query_impl::named_variable_map::get_query_non_incr::__rust_end_short_backtrace 30: 0x7ae2e61a248f - ::lower_path 31: 0x7ae2e619f8c0 - ::lower_ty_common::{closure#0} 32: 0x7ae2e348f3c3 - rustc_hir_analysis[6239ffc5e5ec24c9]::collect::type_of::type_of 33: 0x7ae2e5be496a - rustc_query_impl[b034b92d40b1d47d]::plumbing::__rust_begin_short_backtrace::> 34: 0x7ae2e5be3694 - rustc_query_system[4a94863d7e85f976]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[b034b92d40b1d47d]::plumbing::QueryCtxt, false> 35: 0x7ae2e5be323b - rustc_query_impl[b034b92d40b1d47d]::query_impl::type_of::get_query_non_incr::__rust_end_short_backtrace 36: 0x7ae2e61e1e8e - rustc_hir_analysis[6239ffc5e5ec24c9]::outlives::inferred_outlives_crate 37: 0x7ae2e61e0f3c - rustc_query_impl[b034b92d40b1d47d]::plumbing::__rust_begin_short_backtrace::> 38: 0x7ae2e684f382 - rustc_query_system[4a94863d7e85f976]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[b034b92d40b1d47d]::plumbing::QueryCtxt, false> 39: 0x7ae2e684fd38 - rustc_query_impl[b034b92d40b1d47d]::query_impl::inferred_outlives_crate::get_query_non_incr::__rust_end_short_backtrace 40: 0x7ae2e5c36b56 - rustc_query_impl[b034b92d40b1d47d]::plumbing::__rust_begin_short_backtrace::> 41: 0x7ae2e5c3592f - rustc_query_system[4a94863d7e85f976]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[b034b92d40b1d47d]::plumbing::QueryCtxt, false> 42: 0x7ae2e5c3563f - rustc_query_impl[b034b92d40b1d47d]::query_impl::inferred_outlives_of::get_query_non_incr::__rust_end_short_backtrace 43: 0x7ae2e5c3fd9a - rustc_hir_analysis[6239ffc5e5ec24c9]::collect::predicates_defined_on 44: 0x7ae2e5c3fbed - rustc_query_impl[b034b92d40b1d47d]::plumbing::__rust_begin_short_backtrace::> 45: 0x7ae2e5c3fbd5 - >::call_once 46: 0x7ae2e5c3f017 - rustc_query_system[4a94863d7e85f976]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[b034b92d40b1d47d]::plumbing::QueryCtxt, false> 47: 0x7ae2e5c3dd40 - rustc_query_impl[b034b92d40b1d47d]::query_impl::predicates_defined_on::get_query_non_incr::__rust_end_short_backtrace 48: 0x7ae2e5c3de8e - rustc_hir_analysis[6239ffc5e5ec24c9]::collect::predicates_of::predicates_of 49: 0x7ae2e5c3dd97 - rustc_query_impl[b034b92d40b1d47d]::plumbing::__rust_begin_short_backtrace::> 50: 0x7ae2e5c3f031 - rustc_query_system[4a94863d7e85f976]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[b034b92d40b1d47d]::plumbing::QueryCtxt, false> 51: 0x7ae2e5c3eae8 - rustc_query_impl[b034b92d40b1d47d]::query_impl::predicates_of::get_query_non_incr::__rust_end_short_backtrace 52: 0x7ae2e5bffdfc - ::visit_item 53: 0x7ae2e2b0f2ef - rustc_hir_analysis[6239ffc5e5ec24c9]::check::wfcheck::check_well_formed 54: 0x7ae2e608c2bd - rustc_query_impl[b034b92d40b1d47d]::plumbing::__rust_begin_short_backtrace::> 55: 0x7ae2e608c535 - rustc_query_system[4a94863d7e85f976]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[b034b92d40b1d47d]::plumbing::QueryCtxt, false> 56: 0x7ae2e608c29a - rustc_query_impl[b034b92d40b1d47d]::query_impl::check_well_formed::get_query_non_incr::__rust_end_short_backtrace 57: 0x7ae2e608cf4c - rustc_hir_analysis[6239ffc5e5ec24c9]::check::wfcheck::check_mod_type_wf 58: 0x7ae2e608cd99 - rustc_query_impl[b034b92d40b1d47d]::plumbing::__rust_begin_short_backtrace::> 59: 0x7ae2e6549038 - rustc_query_system[4a94863d7e85f976]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[b034b92d40b1d47d]::plumbing::QueryCtxt, false> 60: 0x7ae2e6548dd9 - rustc_query_impl[b034b92d40b1d47d]::query_impl::check_mod_type_wf::get_query_non_incr::__rust_end_short_backtrace 61: 0x7ae2e5d66e1f - rustc_hir_analysis[6239ffc5e5ec24c9]::check_crate 62: 0x7ae2e5d5cf15 - rustc_interface[73bd107be0165211]::passes::analysis 63: 0x7ae2e5d5cad9 - rustc_query_impl[b034b92d40b1d47d]::plumbing::__rust_begin_short_backtrace::> 64: 0x7ae2e6850825 - rustc_query_system[4a94863d7e85f976]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[b034b92d40b1d47d]::plumbing::QueryCtxt, false> 65: 0x7ae2e685058f - rustc_query_impl[b034b92d40b1d47d]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace 66: 0x7ae2e6777e3f - rustc_interface[73bd107be0165211]::interface::run_compiler::, rustc_driver_impl[6d6094f07793e4a9]::run_compiler::{closure#0}>::{closure#1} 67: 0x7ae2e6637e89 - std[e6dd88f179d4d596]::sys::backtrace::__rust_begin_short_backtrace::, rustc_driver_impl[6d6094f07793e4a9]::run_compiler::{closure#0}>::{closure#1}, core[672c7616ff9a88f5]::result::Result<(), rustc_span[31538c27a715cd64]::ErrorGuaranteed>>::{closure#0}, core[672c7616ff9a88f5]::result::Result<(), rustc_span[31538c27a715cd64]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[672c7616ff9a88f5]::result::Result<(), rustc_span[31538c27a715cd64]::ErrorGuaranteed>> 68: 0x7ae2e6637c3a - <::spawn_unchecked_, rustc_driver_impl[6d6094f07793e4a9]::run_compiler::{closure#0}>::{closure#1}, core[672c7616ff9a88f5]::result::Result<(), rustc_span[31538c27a715cd64]::ErrorGuaranteed>>::{closure#0}, core[672c7616ff9a88f5]::result::Result<(), rustc_span[31538c27a715cd64]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[672c7616ff9a88f5]::result::Result<(), rustc_span[31538c27a715cd64]::ErrorGuaranteed>>::{closure#2} as core[672c7616ff9a88f5]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} 69: 0x7ae2e7f2a16b - as core::ops::function::FnOnce>::call_once::hcfcb27dcb2ebeeb7 at /rustc/d929a42a664c026167800801b26d734db925314f/library/alloc/src/boxed.rs:2064:9 70: 0x7ae2e7f2a16b - as core::ops::function::FnOnce>::call_once::h7d3cd9c06edd61cc at /rustc/d929a42a664c026167800801b26d734db925314f/library/alloc/src/boxed.rs:2064:9 71: 0x7ae2e7f2a16b - std::sys::pal::unix::thread::Thread::new::thread_start::h082ffbd0fcdeae0d at /rustc/d929a42a664c026167800801b26d734db925314f/library/std/src/sys/pal/unix/thread.rs:108:17 72: 0x7ae2e7cbfded - 73: 0x7ae2e7d430dc - 74: 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.81.0-nightly (d929a42a6 2024-06-25) 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 end of query stack error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0658`. ```

matthiaskrgr commented 3 months ago

mmh bisects to #115367