Skip to content

ICE: translating unsupported cast: fn() -> u64 (cast_pointer) -> f32 (cast_float) #15355

@gmorenz

Description

@gmorenz

Code:

fn f() -> u64 {
    0
}

fn main() {
    let n = f as f32;
}

Error with backtrace:

src/main.rs:6:9: 6:10 warning: unused variable: `n`, #[warn(unused_variable)] on by default
src/main.rs:6     let n = f as f32;
                      ^
error: internal compiler error: translating unsupported cast: fn() -> u64 (cast_pointer) -> f32 (cast_float)
note: the compiler hit an unexpected failure path. this is a bug.
note: we would appreciate a bug report: http://doc.rust-lang.org/complement-bugreport.html
note: run with `RUST_BACKTRACE=1` for a backtrace
task 'rustc' failed at 'Box<Any>', /home/rustbuild/src/rust-buildbot/slave/nightly-linux/build/src/libsyntax/diagnostic.rs:163

stack backtrace:
   1:     0x7f6e5389ced0 - rt::backtrace::imp::write::h3e02102493c7a1b79Hp::v0.11.0.pre
   2:     0x7f6e538a3a00 - failure::on_fail::h73803e3fd7728138o3p::v0.11.0.pre
   3:     0x7f6e55a06ef0 - unwind::begin_unwind_inner::h66e3981eb8555b96cZd::v0.11.0.pre
   4:     0x7f6e54e4a4e0 - unwind::begin_unwind::h14114372353668361027::v0.11.0.pre
   5:     0x7f6e54e4ae80 - diagnostic::Handler::bug::h163e51ddd1a017c2Dgc::v0.11.0.pre
   6:     0x7f6e562f9520 - driver::session::Session::bug::h09f59f7b6f35750fdsr::v0.11.0.pre
   7:     0x7f6e5637cbf0 - middle::trans::expr::trans_imm_cast::h261d15fd2f6453feLQh::v0.11.0.pre
   8:     0x7f6e5636e380 - middle::trans::expr::trans_unadjusted::h37391b28c8fd0d0b60f::v0.11.0.pre
   9:     0x7f6e5632a310 - middle::trans::expr::trans_into::hdc05c03d27b262d4JDf::v0.11.0.pre
  10:     0x7f6e56434000 - middle::trans::_match::store_local::closure.85655
  11:     0x7f6e56433cf0 - middle::trans::_match::mk_binding_alloca::h16257314354832004452::v0.11.0.pre
  12:     0x7f6e563eaa70 - middle::trans::_match::store_local::h71f3ff230e537ab6JEu::v0.11.0.pre
  13:     0x7f6e563297e0 - middle::trans::base::init_local::he8478d5bef2cef9cOZp::v0.11.0.pre
  14:     0x7f6e56328d40 - middle::trans::controlflow::trans_stmt::h77aa44239cd8a9d8Mdc::v0.11.0.pre
  15:     0x7f6e5632a940 - middle::trans::controlflow::trans_block::hf4faa65f79a4fae52ic::v0.11.0.pre
  16:     0x7f6e563f0850 - middle::trans::base::trans_closure::hbab3416264edbe7aauq::v0.11.0.pre
  17:     0x7f6e562fa790 - middle::trans::base::trans_fn::hd7d1d11484c269ccbCq::v0.11.0.pre
  18:     0x7f6e562f3230 - middle::trans::base::trans_item::h40a4f8eccf6f8e7eCSq::v0.11.0.pre
  19:     0x7f6e564011b0 - middle::trans::base::trans_crate::h470bfcf3cac093e1JMr::v0.11.0.pre
  20:     0x7f6e56c06570 - driver::driver::phase_4_translate_to_llvm::h2fa30f4b120cdb579Aq::v0.11.0.pre
  21:     0x7f6e56bfd2b0 - driver::driver::compile_input::h1d313b682f9ead2bDeq::v0.11.0.pre
  22:     0x7f6e56cca0c0 - driver::run_compiler::hcc8540f7b478ad28b0s::v0.11.0.pre
  23:     0x7f6e56cc9fd0 - driver::main_args::closure.117522
  24:     0x7f6e56cdf0f0 - task::TaskBuilder<S>::try_future::closure.118663
  25:     0x7f6e56cded10 - task::TaskBuilder<S>::spawn_internal::closure.118640
  26:     0x7f6e55d5c590 - task::spawn_opts::closure.7462
  27:     0x7f6e55a5f290 - rust_try
  28:     0x7f6e55a03500 - unwind::try::h800fde6f36f3558bBNd::v0.11.0.pre
  29:     0x7f6e55a031e0 - task::Task::run::hf743f122a6385418XYc::v0.11.0.pre
  30:     0x7f6e55d5c350 - task::spawn_opts::closure.7408
  31:     0x7f6e55a05da0 - thread::thread_start::hd9510588dd47efddvld::v0.11.0.pre
  32:     0x7f6e53311060 - start_thread
  33:     0x7f6e556cd489 - __clone
  34:                0x0 - <unknown>

Metadata

Metadata

Assignees

No one assigned

    Labels

    I-crashIssue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions