Skip to content

DefId(...) does not have a "params_in_repr" #128327

Closed
@Naserume

Description

@Naserume

Similar Issue #108160. ICEs in nightly-2024-07-11 0c81f94 and so on.

Code

use std::ops::Deref;

struct Apple((Apple, <&'static [f64] as Deref>::Target(Banana ? Citron)));

fn main(){}

Meta

rustc --version --verbose:

rustc 1.82.0-nightly (fbccf5053 2024-07-27)
binary: rustc
commit-hash: fbccf50533b1f287edccb1fc0dd847cd78a1a27e
commit-date: 2024-07-27
host: x86_64-apple-darwin
release: 1.82.0-nightly
LLVM version: 18.1.7

Error output

error: invalid `?` in type
 --> ./03C27.rs:3:63
  |
3 | struct Apple((Apple, <&'static [f64] as Deref>::Target(Banana ? Citron)));
  |                                                               ^ `?` is only allowed on expressions, not types
  |
help: if you meant to express that the type might not contain a value, use the `Option` wrapper type
  |
3 | struct Apple((Apple, <&'static [f64] as Deref>::Target(Option<Banana > Citron)));
  |                                                        +++++++       ~

error: expected one of `)` or `,`, found `Citron`
 --> ./03C27.rs:3:65
  |
3 | struct Apple((Apple, <&'static [f64] as Deref>::Target(Banana ? Citron)));
  |                                                                -^^^^^^ expected one of `)` or `,`
  |                                                                |
  |                                                                help: missing `,`

error[E0412]: cannot find type `Citron` in this scope
 --> ./03C27.rs:3:65
  |
3 | struct Apple((Apple, <&'static [f64] as Deref>::Target(Banana ? Citron)));
  |                                                                 ^^^^^^ not found in this scope

error[E0214]: parenthesized type parameters may only be used with a `Fn` trait
 --> ./03C27.rs:3:49
  |
3 | struct Apple((Apple, <&'static [f64] as Deref>::Target(Banana ? Citron)));
  |                                                 ^^^^^^^^^^^^^^^^^^^^^^^ only `Fn` traits may use parentheses
  |
help: use angle brackets instead
  |
3 | struct Apple((Apple, <&'static [f64] as Deref>::Target<Banana ? Citron>));
  |                                                       ~               ~

Backtrace

thread 'rustc' panicked at compiler/rustc_metadata/src/rmeta/decoder/cstore_impl.rs:217:1:
DefId(2:3552 ~ core[7337]::ops::deref::Deref::Target) does not have a "params_in_repr"
stack backtrace:
   0:        0x107e02373 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h1a1159e0bb131db7
   1:        0x107e4e44b - core::fmt::write::hfa1d67efcf062ea3
   2:        0x107df7cbe - std::io::Write::write_fmt::h3c9394657de9d459
   3:        0x107e04cca - std::panicking::default_hook::{{closure}}::hd9fe5cb6111df159
   4:        0x107e0497a - std::panicking::default_hook::h5b5bd9f74fba2f71
   5:        0x1112215cc - std[4bfb9a18ded71a06]::panicking::update_hook::<alloc[1dd1c94deff693f]::boxed::Box<rustc_driver_impl[563a5c8fc496fc05]::install_ice_hook::{closure#0}>>::{closure#0}
   6:        0x107e05ab9 - std::panicking::rust_panic_with_hook::hd84c7c4b9139908c
   7:        0x107e052f5 - std::panicking::begin_panic_handler::{{closure}}::he2d0d53faee85ca0
   8:        0x107e02849 - std::sys::backtrace::__rust_end_short_backtrace::hb493827135471425
   9:        0x107e04f0c - _rust_begin_unwind
  10:        0x107e6949a - core::panicking::panic_fmt::h3d52278a6f5cc25d
  11:        0x111d67e88 - rustc_metadata[82c39ad374aa2626]::rmeta::decoder::cstore_impl::provide_extern::params_in_repr::{closure#2}
  12:        0x111d67c29 - rustc_metadata[82c39ad374aa2626]::rmeta::decoder::cstore_impl::provide_extern::params_in_repr
  13:        0x1128a1536 - rustc_query_impl[9ad7899b1686080d]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[9ad7899b1686080d]::query_impl::params_in_repr::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e9af03082ecb3485]::query::erase::Erased<[u8; 8usize]>>
  14:        0x112678adf - rustc_query_system[d8fb519f29fd1bee]::query::plumbing::try_execute_query::<rustc_query_impl[9ad7899b1686080d]::DynamicConfig<rustc_query_system[d8fb519f29fd1bee]::query::caches::DefIdCache<rustc_middle[e9af03082ecb3485]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[9ad7899b1686080d]::plumbing::QueryCtxt, false>
  15:        0x1128b6969 - rustc_query_impl[9ad7899b1686080d]::query_impl::params_in_repr::get_query_non_incr::__rust_end_short_backtrace
  16:        0x111f1979f - rustc_middle[e9af03082ecb3485]::query::plumbing::query_get_at::<rustc_query_system[d8fb519f29fd1bee]::query::caches::DefIdCache<rustc_middle[e9af03082ecb3485]::query::erase::Erased<[u8; 8usize]>>>
  17:        0x111f07422 - rustc_middle[e9af03082ecb3485]::values::find_item_ty_spans
  18:        0x111f074a5 - rustc_middle[e9af03082ecb3485]::values::find_item_ty_spans
  19:        0x111f055db - rustc_middle[e9af03082ecb3485]::values::recursive_type_error
  20:        0x111f05105 - <rustc_middle[e9af03082ecb3485]::ty::adt::Representability as rustc_query_system[d8fb519f29fd1bee]::values::Value<rustc_middle[e9af03082ecb3485]::ty::context::TyCtxt>>::from_cycle_error
  21:        0x112845c39 - <rustc_query_impl[9ad7899b1686080d]::query_impl::representability::dynamic_query::{closure#3} as core[7337c6746b2dc2b4]::ops::function::FnOnce<(rustc_middle[e9af03082ecb3485]::ty::context::TyCtxt, &rustc_query_system[d8fb519f29fd1bee]::query::plumbing::CycleError, rustc_span[5a29b2bebce1e1fa]::ErrorGuaranteed)>>::call_once
  22:        0x115ea98c5 - rustc_query_system[d8fb519f29fd1bee]::query::plumbing::mk_cycle::<rustc_query_impl[9ad7899b1686080d]::DynamicConfig<rustc_query_system[d8fb519f29fd1bee]::query::caches::DefIdCache<rustc_middle[e9af03082ecb3485]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[9ad7899b1686080d]::plumbing::QueryCtxt>
  23:        0x115ea78ab - rustc_query_system[d8fb519f29fd1bee]::query::plumbing::cycle_error::<rustc_query_impl[9ad7899b1686080d]::DynamicConfig<rustc_query_system[d8fb519f29fd1bee]::query::caches::DefIdCache<rustc_middle[e9af03082ecb3485]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[9ad7899b1686080d]::plumbing::QueryCtxt>
  24:        0x11271fd66 - rustc_query_system[d8fb519f29fd1bee]::query::plumbing::try_execute_query::<rustc_query_impl[9ad7899b1686080d]::DynamicConfig<rustc_query_system[d8fb519f29fd1bee]::query::caches::VecCache<rustc_span[5a29b2bebce1e1fa]::def_id::LocalDefId, rustc_middle[e9af03082ecb3485]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[9ad7899b1686080d]::plumbing::QueryCtxt, false>
  25:        0x1128b5ee0 - rustc_query_impl[9ad7899b1686080d]::query_impl::representability::get_query_non_incr::__rust_end_short_backtrace
  26:        0x1130baa4b - rustc_middle[e9af03082ecb3485]::query::plumbing::query_get_at::<rustc_query_system[d8fb519f29fd1bee]::query::caches::VecCache<rustc_span[5a29b2bebce1e1fa]::def_id::LocalDefId, rustc_middle[e9af03082ecb3485]::query::erase::Erased<[u8; 1usize]>>>
  27:        0x113131328 - rustc_ty_utils[d90f2a9f2f58eb71]::representability::representability_adt_ty
  28:        0x1128a586c - rustc_query_impl[9ad7899b1686080d]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[9ad7899b1686080d]::query_impl::representability_adt_ty::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e9af03082ecb3485]::query::erase::Erased<[u8; 1usize]>>
  29:        0x1126d2e53 - rustc_query_system[d8fb519f29fd1bee]::query::plumbing::try_execute_query::<rustc_query_impl[9ad7899b1686080d]::DynamicConfig<rustc_query_system[d8fb519f29fd1bee]::query::caches::DefaultCache<rustc_middle[e9af03082ecb3485]::ty::Ty, rustc_middle[e9af03082ecb3485]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[9ad7899b1686080d]::plumbing::QueryCtxt, false>
  30:        0x1128b6403 - rustc_query_impl[9ad7899b1686080d]::query_impl::representability_adt_ty::get_query_non_incr::__rust_end_short_backtrace
  31:        0x113131253 - rustc_ty_utils[d90f2a9f2f58eb71]::representability::representability_ty
  32:        0x11313112a - rustc_ty_utils[d90f2a9f2f58eb71]::representability::representability_ty
  33:        0x1128a2c4c - rustc_query_impl[9ad7899b1686080d]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[9ad7899b1686080d]::query_impl::representability::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e9af03082ecb3485]::query::erase::Erased<[u8; 1usize]>>
  34:        0x11271fc6f - rustc_query_system[d8fb519f29fd1bee]::query::plumbing::try_execute_query::<rustc_query_impl[9ad7899b1686080d]::DynamicConfig<rustc_query_system[d8fb519f29fd1bee]::query::caches::VecCache<rustc_span[5a29b2bebce1e1fa]::def_id::LocalDefId, rustc_middle[e9af03082ecb3485]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[9ad7899b1686080d]::plumbing::QueryCtxt, false>
  35:        0x1128b5ee0 - rustc_query_impl[9ad7899b1686080d]::query_impl::representability::get_query_non_incr::__rust_end_short_backtrace
  36:        0x1130baa4b - rustc_middle[e9af03082ecb3485]::query::plumbing::query_get_at::<rustc_query_system[d8fb519f29fd1bee]::query::caches::VecCache<rustc_span[5a29b2bebce1e1fa]::def_id::LocalDefId, rustc_middle[e9af03082ecb3485]::query::erase::Erased<[u8; 1usize]>>>
  37:        0x113130f41 - rustc_ty_utils[d90f2a9f2f58eb71]::representability::representability
  38:        0x1128a2c4c - rustc_query_impl[9ad7899b1686080d]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[9ad7899b1686080d]::query_impl::representability::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e9af03082ecb3485]::query::erase::Erased<[u8; 1usize]>>
  39:        0x11271fc6f - rustc_query_system[d8fb519f29fd1bee]::query::plumbing::try_execute_query::<rustc_query_impl[9ad7899b1686080d]::DynamicConfig<rustc_query_system[d8fb519f29fd1bee]::query::caches::VecCache<rustc_span[5a29b2bebce1e1fa]::def_id::LocalDefId, rustc_middle[e9af03082ecb3485]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[9ad7899b1686080d]::plumbing::QueryCtxt, false>
  40:        0x1128b5ee0 - rustc_query_impl[9ad7899b1686080d]::query_impl::representability::get_query_non_incr::__rust_end_short_backtrace
  41:        0x1115786e6 - rustc_hir_analysis[b58127314b372e6e]::check::wfcheck::check_type_defn
  42:        0x11156ee07 - rustc_hir_analysis[b58127314b372e6e]::check::wfcheck::check_well_formed
  43:        0x1128a2d0c - rustc_query_impl[9ad7899b1686080d]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[9ad7899b1686080d]::query_impl::check_well_formed::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e9af03082ecb3485]::query::erase::Erased<[u8; 1usize]>>
  44:        0x112716c6f - rustc_query_system[d8fb519f29fd1bee]::query::plumbing::try_execute_query::<rustc_query_impl[9ad7899b1686080d]::DynamicConfig<rustc_query_system[d8fb519f29fd1bee]::query::caches::VecCache<rustc_hir[3c99a6c306bb37d3]::hir_id::OwnerId, rustc_middle[e9af03082ecb3485]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[9ad7899b1686080d]::plumbing::QueryCtxt, false>
  45:        0x1128ee510 - rustc_query_impl[9ad7899b1686080d]::query_impl::check_well_formed::get_query_non_incr::__rust_end_short_backtrace
  46:        0x111459d32 - rustc_middle[e9af03082ecb3485]::query::plumbing::query_ensure_error_guaranteed::<rustc_query_system[d8fb519f29fd1bee]::query::caches::VecCache<rustc_hir[3c99a6c306bb37d3]::hir_id::OwnerId, rustc_middle[e9af03082ecb3485]::query::erase::Erased<[u8; 1usize]>>, ()>
  47:        0x11157f771 - rustc_hir_analysis[b58127314b372e6e]::check::wfcheck::check_mod_type_wf
  48:        0x1128a2cdc - rustc_query_impl[9ad7899b1686080d]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[9ad7899b1686080d]::query_impl::check_mod_type_wf::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e9af03082ecb3485]::query::erase::Erased<[u8; 1usize]>>
  49:        0x1126c9fe9 - rustc_query_system[d8fb519f29fd1bee]::query::plumbing::try_execute_query::<rustc_query_impl[9ad7899b1686080d]::DynamicConfig<rustc_query_system[d8fb519f29fd1bee]::query::caches::DefaultCache<rustc_span[5a29b2bebce1e1fa]::def_id::LocalModDefId, rustc_middle[e9af03082ecb3485]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[9ad7899b1686080d]::plumbing::QueryCtxt, false>
  50:        0x1128cab20 - rustc_query_impl[9ad7899b1686080d]::query_impl::check_mod_type_wf::get_query_non_incr::__rust_end_short_backtrace
  51:        0x11160a56c - rustc_hir_analysis[b58127314b372e6e]::check_crate
  52:        0x111b3ecb7 - rustc_interface[33c7848e7de359ea]::passes::run_required_analyses
  53:        0x111b41153 - rustc_interface[33c7848e7de359ea]::passes::analysis
  54:        0x1128a73ac - rustc_query_impl[9ad7899b1686080d]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[9ad7899b1686080d]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e9af03082ecb3485]::query::erase::Erased<[u8; 1usize]>>
  55:        0x112683dce - rustc_query_system[d8fb519f29fd1bee]::query::plumbing::try_execute_query::<rustc_query_impl[9ad7899b1686080d]::DynamicConfig<rustc_query_system[d8fb519f29fd1bee]::query::caches::SingleCache<rustc_middle[e9af03082ecb3485]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[9ad7899b1686080d]::plumbing::QueryCtxt, false>
  56:        0x1128b1907 - rustc_query_impl[9ad7899b1686080d]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
  57:        0x1111c28b7 - <rustc_interface[33c7848e7de359ea]::queries::QueryResult<&rustc_middle[e9af03082ecb3485]::ty::context::GlobalCtxt>>::enter::<core[7337c6746b2dc2b4]::result::Result<(), rustc_span[5a29b2bebce1e1fa]::ErrorGuaranteed>, rustc_driver_impl[563a5c8fc496fc05]::run_compiler::{closure#0}::{closure#1}::{closure#5}>
  58:        0x11121fe7b - rustc_interface[33c7848e7de359ea]::interface::run_compiler::<core[7337c6746b2dc2b4]::result::Result<(), rustc_span[5a29b2bebce1e1fa]::ErrorGuaranteed>, rustc_driver_impl[563a5c8fc496fc05]::run_compiler::{closure#0}>::{closure#1}
  59:        0x11120b391 - std[4bfb9a18ded71a06]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[33c7848e7de359ea]::util::run_in_thread_with_globals<rustc_interface[33c7848e7de359ea]::util::run_in_thread_pool_with_globals<rustc_interface[33c7848e7de359ea]::interface::run_compiler<core[7337c6746b2dc2b4]::result::Result<(), rustc_span[5a29b2bebce1e1fa]::ErrorGuaranteed>, rustc_driver_impl[563a5c8fc496fc05]::run_compiler::{closure#0}>::{closure#1}, core[7337c6746b2dc2b4]::result::Result<(), rustc_span[5a29b2bebce1e1fa]::ErrorGuaranteed>>::{closure#0}, core[7337c6746b2dc2b4]::result::Result<(), rustc_span[5a29b2bebce1e1fa]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[7337c6746b2dc2b4]::result::Result<(), rustc_span[5a29b2bebce1e1fa]::ErrorGuaranteed>>
  60:        0x11122a606 - <<std[4bfb9a18ded71a06]::thread::Builder>::spawn_unchecked_<rustc_interface[33c7848e7de359ea]::util::run_in_thread_with_globals<rustc_interface[33c7848e7de359ea]::util::run_in_thread_pool_with_globals<rustc_interface[33c7848e7de359ea]::interface::run_compiler<core[7337c6746b2dc2b4]::result::Result<(), rustc_span[5a29b2bebce1e1fa]::ErrorGuaranteed>, rustc_driver_impl[563a5c8fc496fc05]::run_compiler::{closure#0}>::{closure#1}, core[7337c6746b2dc2b4]::result::Result<(), rustc_span[5a29b2bebce1e1fa]::ErrorGuaranteed>>::{closure#0}, core[7337c6746b2dc2b4]::result::Result<(), rustc_span[5a29b2bebce1e1fa]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[7337c6746b2dc2b4]::result::Result<(), rustc_span[5a29b2bebce1e1fa]::ErrorGuaranteed>>::{closure#1} as core[7337c6746b2dc2b4]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  61:        0x107e0eacb - std::sys::pal::unix::thread::Thread::new::thread_start::hc7a03ce7c26595a5
  62:     0x7ff801f5318b - __pthread_start

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: please attach the file at `/Users/Documents/rustc-ice-2024-07-29T01_35_09-6352.txt` to your bug report

query stack during panic:
#0 [params_in_repr] finding type parameters in the representation
#1 [representability_adt_ty] checking if `Apple` is representable
end of query stack
error: aborting due to 4 previous errors

Some errors have detailed explanations: E0214, E0412.
For more information about an error, try `rustc --explain E0214`.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️S-bug-has-testStatus: This bug is tracked inside the repo by a `known-bug` test.S-has-mcveStatus: A Minimal Complete and Verifiable Example has been found for this issueT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions