Closed
Description
While trying to reproduce #12633, one of my sillier code samples caused an ICE:
pub fn main() {
let copy = std::intrinsics::copy;
let assign: unsafe extern "rust-intrinsic" fn(*const i32, *mut i32, usize) = copy;
}
output (edited to update backtrace):
error: internal compiler error: src/librustc_trans/collector.rs:605: intrinsic DefId { krate: CrateNum(2), node: DefIndex(2147484733) => core/95b59a2d6e560334339d9c64d12f4a24::intrinsics[0]::[1]::copy[0] } being reified
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
note: run with `RUST_BACKTRACE=1` for a backtrace
thread 'rustc' panicked at 'Box<Any>', src/librustc_errors/lib.rs:473
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
stack backtrace:
....
13: rustc_trans::collector::visit_instance_use
at /rust/src/librustc_trans/collector.rs:605
14: <rustc_trans::collector::MirNeighborCollector<'a, 'tcx> as rustc::mir::visit::Visitor<'tcx>>::visit_rvalue
at /rust/src/librustc_trans/collector.rs:588
at /rust/src/librustc_trans/collector.rs:492
15: rustc::mir::visit::Visitor::super_statement
at /rust/src/librustc/mir/visit.rs:357
at /rust/src/librustc/mir/visit.rs:115
at /rust/src/librustc/mir/visit.rs:326
16: rustc::mir::visit::Visitor::super_basic_block_data
at /rust/src/librustc/mir/visit.rs:107
at /rust/src/librustc/mir/visit.rs:290
17: rustc::mir::visit::Visitor::super_mir
at /rust/src/librustc/mir/visit.rs:95
at /rust/src/librustc/mir/visit.rs:262
18: rustc_trans::collector::collect_neighbours
at /rust/src/librustc_trans/collector.rs:978
19: rustc_trans::collector::collect_items_rec
at /rust/src/librustc_trans/collector.rs:350
20: rustc::dep_graph::graph::DepGraph::with_ignore
at /rust/src/librustc_trans/collector.rs:278
at /rust/src/librustc/dep_graph/graph.rs:77
21: rustc_trans::collector::collect_crate_translation_items
at /rust/src/librustc_trans/collector.rs:269
22: rustc::util::common::time
at /rust/src/librustc_trans/base.rs:1587
at /rust/src/librustc/util/common.rs:48
23: rustc_trans::base::collect_and_partition_translation_items
at /rust/src/librustc_trans/base.rs:1586
24: rustc_trans::base::trans_crate
at /rust/src/librustc_trans/base.rs:1108
25: rustc::util::common::time
at /rust/src/librustc_driver/driver.rs:1051
at /rust/src/librustc/util/common.rs:48
26: rustc_driver::driver::phase_4_translate_to_llvm
at /rust/src/librustc_driver/driver.rs:1049
27: rustc_driver::driver::compile_input::{{closure}}
at /rust/src/librustc_driver/driver.rs:206
28: <std::thread::local::LocalKey<T>>::with
at /rust/src/librustc_driver/driver.rs:1032
at /rust/src/librustc/ty/context.rs:915
at /rust/src/libstd/thread/local.rs:253
29: rustc::ty::context::tls::enter
at /rust/src/librustc/ty/context.rs:912
30: <std::thread::local::LocalKey<T>>::with
at /rust/src/librustc/ty/context.rs:899
at /rust/src/libstd/thread/local.rs:253
31: rustc::ty::context::tls::enter_global
at /rust/src/librustc/ty/context.rs:896
32: rustc::ty::context::TyCtxt::create_and_enter
at /rust/src/librustc/ty/context.rs:706
33: rustc_driver::driver::phase_3_run_analysis_passes
at /rust/src/librustc_driver/driver.rs:940
34: rustc_driver::driver::compile_input
at /rust/src/librustc_driver/driver.rs:172
35: rustc_driver::run_compiler
at /rust/src/librustc_driver/lib.rs:224