error: internal compiler error: compiler/rustc_mir_transform/src/lower_intrinsics.rs:177:29: Wrong number of arguments
--> src/main.rs:4:13
|
4 | unsafe { read_via_copy(); }
| ^^^^^^^^^^^^^^^
thread 'rustc' panicked at compiler/rustc_mir_transform/src/lower_intrinsics.rs:177:29:
Box<dyn Any>
stack backtrace:
0: 0x7f5e62c0b885 - std::backtrace_rs::backtrace::libunwind::trace::h2ac23be513f598d8
at /rustc/aa1c45908df252a5b0c14e1bcb38c6c55ae02efe/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
1: 0x7f5e62c0b885 - std::backtrace_rs::backtrace::trace_unsynchronized::h714851d0c638595f
at /rustc/aa1c45908df252a5b0c14e1bcb38c6c55ae02efe/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x7f5e62c0b885 - std::sys_common::backtrace::_print_fmt::hde31106e881318f4
at /rustc/aa1c45908df252a5b0c14e1bcb38c6c55ae02efe/library/std/src/sys_common/backtrace.rs:68:5
3: 0x7f5e62c0b885 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h5e44711e8e3e9bff
at /rustc/aa1c45908df252a5b0c14e1bcb38c6c55ae02efe/library/std/src/sys_common/backtrace.rs:44:22
4: 0x7f5e62c5ab9b - core::fmt::rt::Argument::fmt::h9965750ec07aa88a
at /rustc/aa1c45908df252a5b0c14e1bcb38c6c55ae02efe/library/core/src/fmt/rt.rs:142:9
5: 0x7f5e62c5ab9b - core::fmt::write::hc2ec2e3627fd006a
at /rustc/aa1c45908df252a5b0c14e1bcb38c6c55ae02efe/library/core/src/fmt/mod.rs:1153:17
6: 0x7f5e62c003ff - std::io::Write::write_fmt::h1f82f51174f3abb0
at /rustc/aa1c45908df252a5b0c14e1bcb38c6c55ae02efe/library/std/src/io/mod.rs:1843:15
7: 0x7f5e62c0b65e - std::sys_common::backtrace::_print::h003159894b30f46f
at /rustc/aa1c45908df252a5b0c14e1bcb38c6c55ae02efe/library/std/src/sys_common/backtrace.rs:47:5
8: 0x7f5e62c0b65e - std::sys_common::backtrace::print::h787b5c1503f03df7
at /rustc/aa1c45908df252a5b0c14e1bcb38c6c55ae02efe/library/std/src/sys_common/backtrace.rs:34:9
9: 0x7f5e62c0e159 - std::panicking::default_hook::{{closure}}::h5939a448f377040a
10: 0x7f5e62c0de75 - std::panicking::default_hook::h3651e83a5c639e04
at /rustc/aa1c45908df252a5b0c14e1bcb38c6c55ae02efe/library/std/src/panicking.rs:291:9
11: 0x7f5e65cb7aff - std[f2945facf614d202]::panicking::update_hook::<alloc[406fac374097d7f1]::boxed::Box<rustc_driver_impl[3d4f9373b5a704b5]::install_ice_hook::{closure#0}>>::{closure#0}
12: 0x7f5e62c0e85c - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h53e9ce019f51ba71
at /rustc/aa1c45908df252a5b0c14e1bcb38c6c55ae02efe/library/alloc/src/boxed.rs:2032:9
13: 0x7f5e62c0e85c - std::panicking::rust_panic_with_hook::h71ac878b54cf8b64
at /rustc/aa1c45908df252a5b0c14e1bcb38c6c55ae02efe/library/std/src/panicking.rs:792:13
14: 0x7f5e65ce73c4 - std[f2945facf614d202]::panicking::begin_panic::<rustc_errors[39c86ef847bc51a8]::ExplicitBug>::{closure#0}
15: 0x7f5e65ce3e66 - std[f2945facf614d202]::sys_common::backtrace::__rust_end_short_backtrace::<std[f2945facf614d202]::panicking::begin_panic<rustc_errors[39c86ef847bc51a8]::ExplicitBug>::{closure#0}, !>
16: 0x7f5e65cdf486 - std[f2945facf614d202]::panicking::begin_panic::<rustc_errors[39c86ef847bc51a8]::ExplicitBug>
17: 0x7f5e65cf1101 - <rustc_errors[39c86ef847bc51a8]::diagnostic::BugAbort as rustc_errors[39c86ef847bc51a8]::diagnostic::EmissionGuarantee>::emit_producing_guarantee
18: 0x7f5e66288628 - <rustc_errors[39c86ef847bc51a8]::DiagCtxt>::span_bug::<rustc_span[a0270aa614b2185f]::span_encoding::Span, alloc[406fac374097d7f1]::string::String>
19: 0x7f5e662a788d - rustc_middle[ed380b410dad9775]::util::bug::opt_span_bug_fmt::<rustc_span[a0270aa614b2185f]::span_encoding::Span>::{closure#0}
20: 0x7f5e662a78ba - rustc_middle[ed380b410dad9775]::ty::context::tls::with_opt::<rustc_middle[ed380b410dad9775]::util::bug::opt_span_bug_fmt<rustc_span[a0270aa614b2185f]::span_encoding::Span>::{closure#0}, !>::{closure#0}
21: 0x7f5e662a082b - rustc_middle[ed380b410dad9775]::ty::context::tls::with_context_opt::<rustc_middle[ed380b410dad9775]::ty::context::tls::with_opt<rustc_middle[ed380b410dad9775]::util::bug::opt_span_bug_fmt<rustc_span[a0270aa614b2185f]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
22: 0x7f5e6629fa77 - rustc_middle[ed380b410dad9775]::util::bug::span_bug_fmt::<rustc_span[a0270aa614b2185f]::span_encoding::Span>
23: 0x7f5e67763b16 - <rustc_mir_transform[aadc44431e968acb]::lower_intrinsics::LowerIntrinsics as rustc_middle[ed380b410dad9775]::mir::MirPass>::run_pass
24: 0x7f5e6708088d - rustc_mir_transform[aadc44431e968acb]::pass_manager::run_passes_inner
25: 0x7f5e67782242 - rustc_mir_transform[aadc44431e968acb]::mir_drops_elaborated_and_const_checked
26: 0x7f5e67781b13 - rustc_query_impl[f28317b5059654ba]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f28317b5059654ba]::query_impl::mir_drops_elaborated_and_const_checked::dynamic_query::{closure#2}::{closure#0}, rustc_middle[ed380b410dad9775]::query::erase::Erased<[u8; 8usize]>>
27: 0x7f5e673550f1 - rustc_query_system[4cc60357b0579df9]::query::plumbing::try_execute_query::<rustc_query_impl[f28317b5059654ba]::DynamicConfig<rustc_query_system[4cc60357b0579df9]::query::caches::VecCache<rustc_span[a0270aa614b2185f]::def_id::LocalDefId, rustc_middle[ed380b410dad9775]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[f28317b5059654ba]::plumbing::QueryCtxt, false>
28: 0x7f5e67354aa4 - rustc_query_impl[f28317b5059654ba]::query_impl::mir_drops_elaborated_and_const_checked::get_query_non_incr::__rust_end_short_backtrace
29: 0x7f5e679414f2 - rustc_interface[54c6bd1de51731e6]::passes::analysis
30: 0x7f5e679402d5 - rustc_query_impl[f28317b5059654ba]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f28317b5059654ba]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[ed380b410dad9775]::query::erase::Erased<[u8; 1usize]>>
31: 0x7f5e67e9f6e5 - rustc_query_system[4cc60357b0579df9]::query::plumbing::try_execute_query::<rustc_query_impl[f28317b5059654ba]::DynamicConfig<rustc_query_system[4cc60357b0579df9]::query::caches::SingleCache<rustc_middle[ed380b410dad9775]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[f28317b5059654ba]::plumbing::QueryCtxt, false>
32: 0x7f5e67e9f449 - rustc_query_impl[f28317b5059654ba]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
33: 0x7f5e67c4f914 - rustc_interface[54c6bd1de51731e6]::interface::run_compiler::<core[faf3c98050982095]::result::Result<(), rustc_span[a0270aa614b2185f]::ErrorGuaranteed>, rustc_driver_impl[3d4f9373b5a704b5]::run_compiler::{closure#0}>::{closure#0}
34: 0x7f5e67e2c41d - std[f2945facf614d202]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[54c6bd1de51731e6]::util::run_in_thread_with_globals<rustc_interface[54c6bd1de51731e6]::util::run_in_thread_pool_with_globals<rustc_interface[54c6bd1de51731e6]::interface::run_compiler<core[faf3c98050982095]::result::Result<(), rustc_span[a0270aa614b2185f]::ErrorGuaranteed>, rustc_driver_impl[3d4f9373b5a704b5]::run_compiler::{closure#0}>::{closure#0}, core[faf3c98050982095]::result::Result<(), rustc_span[a0270aa614b2185f]::ErrorGuaranteed>>::{closure#0}, core[faf3c98050982095]::result::Result<(), rustc_span[a0270aa614b2185f]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[faf3c98050982095]::result::Result<(), rustc_span[a0270aa614b2185f]::ErrorGuaranteed>>
35: 0x7f5e67e2c22a - <<std[f2945facf614d202]::thread::Builder>::spawn_unchecked_<rustc_interface[54c6bd1de51731e6]::util::run_in_thread_with_globals<rustc_interface[54c6bd1de51731e6]::util::run_in_thread_pool_with_globals<rustc_interface[54c6bd1de51731e6]::interface::run_compiler<core[faf3c98050982095]::result::Result<(), rustc_span[a0270aa614b2185f]::ErrorGuaranteed>, rustc_driver_impl[3d4f9373b5a704b5]::run_compiler::{closure#0}>::{closure#0}, core[faf3c98050982095]::result::Result<(), rustc_span[a0270aa614b2185f]::ErrorGuaranteed>>::{closure#0}, core[faf3c98050982095]::result::Result<(), rustc_span[a0270aa614b2185f]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[faf3c98050982095]::result::Result<(), rustc_span[a0270aa614b2185f]::ErrorGuaranteed>>::{closure#1} as core[faf3c98050982095]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
36: 0x7f5e62c1828b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h63394803e5a3b584
at /rustc/aa1c45908df252a5b0c14e1bcb38c6c55ae02efe/library/alloc/src/boxed.rs:2018:9
37: 0x7f5e62c1828b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hbe514eade38645bb
at /rustc/aa1c45908df252a5b0c14e1bcb38c6c55ae02efe/library/alloc/src/boxed.rs:2018:9
38: 0x7f5e62c1828b - std::sys::pal::unix::thread::Thread::new::thread_start::hb4be61ed23447ea6
at /rustc/aa1c45908df252a5b0c14e1bcb38c6c55ae02efe/library/std/src/sys/pal/unix/thread.rs:108:17
39: 0x7f5e62b25609 - start_thread
40: 0x7f5e62a48353 - clone
41: 0x0 - <unknown>
note: using internal features is not supported and expected to cause internal compiler errors when used incorrectly
note: please attach the file at `/playground/rustc-ice-2024-04-07T07_42_23-24.txt` to your bug report
note: compiler flags: --crate-type bin -C embed-bitcode=no -C codegen-units=1 -C debuginfo=2
note: some of the compiler flags provided by cargo are hidden
query stack during panic:
#0 [mir_drops_elaborated_and_const_checked] elaborating drops for `main`
#1 [analysis] running analysis passes on this crate
end of query stack
An ICE occurs if you declare an intrinsic with the wrong number of args and then try to use it.
Code
Meta
rustc --version --verbose:Error output
Backtrace
The ICE originates in
lower_intrinsics.rse.g. over here forread_via_copy:rust/compiler/rustc_mir_transform/src/lower_intrinsics.rs
Lines 176 to 178 in af25253
Since there are a lot of occurrences of
span_bug!(..., "Wrong number of arguments...")in this file, many other intrinsics will also ICE under the given conditions.Related issue: #123442 which is a special case of this issue for the
transmuteintrinsic.