Closed
Description
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
Labels
Category: This is a bug.Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️Status: This bug is tracked inside the repo by a `known-bug` test.Status: A Minimal Complete and Verifiable Example has been found for this issueRelevant to the compiler team, which will review and decide on the PR/issue.