-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Open
Labels
C-bugCategory: This is a bug.Category: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.This issue may need triage. Remove it if it has been sufficiently triaged.
Description
The code is generated by a fuzzer and reduced manually
Possibly a duplicate of #138510
Code
#![feature(stmt_expr_attributes)]
fn main() {
let _: fn(isize) -> usize = #[repr()] std::string::String::new();
}
Meta
rustc --version --verbose
:
rustc 1.90.0-nightly (2a023bf80 2025-07-10)
binary: rustc
commit-hash: 2a023bf80a6fbd6a06d5460a34eb247b986286ed
commit-date: 2025-07-10
host: x86_64-unknown-linux-gnu
release: 1.90.0-nightly
LLVM version: 20.1.7
Error output
<None>
Backtrace
thread 'rustc' panicked at /rustc-dev/2a023bf80a6fbd6a06d5460a34eb247b986286ed/compiler/rustc_hir/src/hir.rs:1307:18:
can't get the span of an arbitrary parsed attribute: Parsed(Repr { reprs: [], first_span: ./test.rs:3:33: 3:42 (#0) })
stack backtrace:
0: 0x7fde4f7b36b3 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hde9130f8bb8f05be
1: 0x7fde50002637 - core::fmt::write::hf0a4fa274f906048
2: 0x7fde4f7a91e3 - std::io::Write::write_fmt::h5529dcbcd2adc016
3: 0x7fde4f7b3512 - std::sys::backtrace::BacktraceLock::print::h6d08de9067bcf327
4: 0x7fde4f7b6fb7 - std::panicking::default_hook::{{closure}}::h47fd54be39e8f976
5: 0x7fde4f7b6b1b - std::panicking::default_hook::h3e18904fa30c45d8
6: 0x7fde4e855a03 - std[3d755e9610f7e251]::panicking::update_hook::<alloc[7f4c2d72f38b8d7e]::boxed::Box<rustc_driver_impl[63982ee25ad4258]::install_ice_hook::{closure#1}>>::{closure#0}
7: 0x7fde4f7b77fe - std::panicking::rust_panic_with_hook::h95fdb0db127e3393
8: 0x7fde4f7b74fa - std::panicking::begin_panic_handler::{{closure}}::h60a8d1dd28fdf2f9
9: 0x7fde4f7b3b79 - std::sys::backtrace::__rust_end_short_backtrace::h257feb614e80fbd3
10: 0x7fde4f7b71dd - __rustc[c00c44d2e7a9f37a]::rust_begin_unwind
11: 0x7fde4bee32c0 - core::panicking::panic_fmt::h34a2576cfcb88dba
12: 0x7fde51be725e - <rustc_hir_typeck[e05746f8d1463b85]::fn_ctxt::FnCtxt>::precedence::{closure#0}.llvm.12623543789783378793.cold
13: 0x7fde50f035ed - <rustc_hir[ac0ad48649a9a1c6]::hir::Expr>::precedence
14: 0x7fde4eb731e8 - <rustc_hir_typeck[e05746f8d1463b85]::fn_ctxt::FnCtxt>::suggest_deref_ref_or_into
15: 0x7fde4eb2e8b3 - <rustc_hir_typeck[e05746f8d1463b85]::fn_ctxt::FnCtxt>::emit_type_mismatch_suggestions
16: 0x7fde4eb33e31 - <rustc_hir_typeck[e05746f8d1463b85]::fn_ctxt::FnCtxt>::emit_coerce_suggestions
17: 0x7fde50263b0d - <rustc_hir_typeck[e05746f8d1463b85]::fn_ctxt::FnCtxt>::check_decl
18: 0x7fde50d2f92f - <rustc_hir_typeck[e05746f8d1463b85]::fn_ctxt::FnCtxt>::check_expr_block
19: 0x7fde50d495e1 - <rustc_hir_typeck[e05746f8d1463b85]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
20: 0x7fde50d39985 - rustc_hir_typeck[e05746f8d1463b85]::check::check_fn
21: 0x7fde512132bd - rustc_hir_typeck[e05746f8d1463b85]::typeck_with_inspect::{closure#0}
22: 0x7fde511ffcb0 - rustc_query_impl[73f7b85c6196fc58]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[73f7b85c6196fc58]::query_impl::typeck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[bfb8074addc0df29]::query::erase::Erased<[u8; 8usize]>>
23: 0x7fde501c7b2e - rustc_query_system[9ad56969e99527f5]::query::plumbing::try_execute_query::<rustc_query_impl[73f7b85c6196fc58]::DynamicConfig<rustc_data_structures[3e414e5f4aa76e06]::vec_cache::VecCache<rustc_span[34d8fcb52d2fde04]::def_id::LocalDefId, rustc_middle[bfb8074addc0df29]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[9ad56969e99527f5]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[73f7b85c6196fc58]::plumbing::QueryCtxt, false>
24: 0x7fde501c74c9 - rustc_query_impl[73f7b85c6196fc58]::query_impl::typeck::get_query_non_incr::__rust_end_short_backtrace
25: 0x7fde50804584 - rustc_hir_analysis[3ed7bc842342b5c1]::check_crate
26: 0x7fde501c3671 - rustc_interface[ca8d5c69dfd7f14d]::passes::analysis
27: 0x7fde501c328b - rustc_query_impl[73f7b85c6196fc58]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[73f7b85c6196fc58]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[bfb8074addc0df29]::query::erase::Erased<[u8; 0usize]>>
28: 0x7fde5109f93c - rustc_query_system[9ad56969e99527f5]::query::plumbing::try_execute_query::<rustc_query_impl[73f7b85c6196fc58]::DynamicConfig<rustc_query_system[9ad56969e99527f5]::query::caches::SingleCache<rustc_middle[bfb8074addc0df29]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[73f7b85c6196fc58]::plumbing::QueryCtxt, false>
29: 0x7fde5109f506 - rustc_query_impl[73f7b85c6196fc58]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
30: 0x7fde51319296 - rustc_interface[ca8d5c69dfd7f14d]::passes::create_and_enter_global_ctxt::<core[557129ac99d5593e]::option::Option<rustc_interface[ca8d5c69dfd7f14d]::queries::Linker>, rustc_driver_impl[63982ee25ad4258]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
31: 0x7fde51228f17 - rustc_interface[ca8d5c69dfd7f14d]::interface::run_compiler::<(), rustc_driver_impl[63982ee25ad4258]::run_compiler::{closure#0}>::{closure#1}
32: 0x7fde511e52f8 - std[3d755e9610f7e251]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[ca8d5c69dfd7f14d]::util::run_in_thread_with_globals<rustc_interface[ca8d5c69dfd7f14d]::util::run_in_thread_pool_with_globals<rustc_interface[ca8d5c69dfd7f14d]::interface::run_compiler<(), rustc_driver_impl[63982ee25ad4258]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
33: 0x7fde511e4fd6 - <<std[3d755e9610f7e251]::thread::Builder>::spawn_unchecked_<rustc_interface[ca8d5c69dfd7f14d]::util::run_in_thread_with_globals<rustc_interface[ca8d5c69dfd7f14d]::util::run_in_thread_pool_with_globals<rustc_interface[ca8d5c69dfd7f14d]::interface::run_compiler<(), rustc_driver_impl[63982ee25ad4258]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[557129ac99d5593e]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
34: 0x7fde511eaebd - std::sys::pal::unix::thread::Thread::new::thread_start::h94d994b2c0a286ed
35: 0x7fde4aa6bac3 - <unknown>
36: 0x7fde4aafca04 - clone
37: 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: please attach the file at `/root/autodl-tmp/rustc-ice-2025-07-11T13_24_59-467604.txt` to your bug report
query stack during panic:
#0 [typeck] type-checking `main`
#1 [analysis] running analysis passes on this crate
end of query stack
warning: 1 warning emitted
note: no errors encountered even though delayed bugs were created
note: those delayed bugs will now be shown as internal compiler errors
error: internal compiler error: `TypeError` when attempting coercion but no error emitted
--> ./test.rs:3:43
|
3 | let _: fn(isize) -> usize = #[repr()] std::string::String::new();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
note: delayed at compiler/rustc_hir_typeck/src/demand.rs:276:47 - disabled backtrace
--> ./test.rs:3:43
|
3 | let _: fn(isize) -> usize = #[repr()] std::string::String::new();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
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 `/root/autodl-tmp/rustc-ice-2025-07-11T13_24_59-467604.txt` to your bug report
query stack during panic:
end of query stack
Metadata
Metadata
Assignees
Labels
C-bugCategory: This is a bug.Category: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.This issue may need triage. Remove it if it has been sufficiently triaged.