Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Float::fract breaks the compiler #18237

Closed
nwoeanhinnogaehr opened this issue Oct 22, 2014 · 2 comments
Closed

Float::fract breaks the compiler #18237

nwoeanhinnogaehr opened this issue Oct 22, 2014 · 2 comments
Labels
I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️

Comments

@nwoeanhinnogaehr
Copy link

Code to reproduce the bug:

fn main() {
    Float::fract(0.5f32);
}

Compiler output:

   Compiling bug v0.0.1 (file:///home/trypt/tmp/bug)
     Running `rustc /home/trypt/tmp/bug/src/main.rs --crate-name bug --crate-type bin -g --out-dir /home/trypt/tmp/bug/target --dep-info /home/trypt/tmp/bug/target/.fingerprint/bug-67113fbff5bc7356/dep-bin-bug -L /home/trypt/tmp/bug/target -L /home/trypt/tmp/bug/target/deps`
error: internal compiler error: unexpected failure
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 'assertion failed: `(left == right) && (right == left)` (left: `3`, right: `0`)', /build/rust-git/src/rust/src/librustc/middle/trans/callee.rs:528

stack backtrace:
   1:     0x7fd17b05c470 - rt::backtrace::imp::write::h0cc7f5a851746c38Ocq
   2:     0x7fd17b05f600 - <unknown>
   3:     0x7fd17f3e3180 - unwind::begin_unwind_inner::h5b81075b29d74844Axd
   4:     0x7fd17f3e2cc0 - unwind::begin_unwind_fmt::hd260f19c1920c5a32ud
   5:     0x7fd17fd93740 - middle::trans::callee::trans_fn_ref_with_substs::h5deeb486f0f6dab4Lo3
   6:     0x7fd17fd92290 - middle::trans::callee::trans_fn_ref::hacac6cfbed594251Bc3
   7:     0x7fd17fd99210 - <unknown>
   8:     0x7fd17fd76b20 - middle::trans::callee::trans_call_inner::h502f1bd96a59fd28vK3
   9:     0x7fd17fd98f60 - middle::trans::callee::trans_call::hf40be968c141ae5bPE3
  10:     0x7fd17fda54e0 - <unknown>
  11:     0x7fd17fd70e20 - middle::trans::expr::trans_into::h3b4c19303fb11879Gu4
  12:     0x7fd17fd70620 - middle::trans::controlflow::trans_stmt_semi::h0157dff82bfa6cac3J0
  13:     0x7fd17fd6fe00 - middle::trans::controlflow::trans_stmt::h497be90c0662b04dQF0
  14:     0x7fd17fd71120 - middle::trans::controlflow::trans_block::hd34eb13f50ea62f1WK0
  15:     0x7fd17fe08910 - middle::trans::base::trans_closure::h2fb21c88239bbfe10Qg
  16:     0x7fd17fd66a70 - middle::trans::base::trans_fn::h91ab64c979d92e01o2g
  17:     0x7fd17fd645e0 - middle::trans::base::trans_item::h0bbbc3d81b428522Hlh
  18:     0x7fd17fe128e0 - middle::trans::base::trans_crate::h8dcabfd4506b3a0cyji
  19:     0x7fd180217570 - driver::driver::phase_4_translate_to_llvm::ha21de371a2b99cd1XjA
  20:     0x7fd18020edd0 - driver::driver::compile_input::hab7fcf1cca4d496cRQz
  21:     0x7fd18029a640 - <unknown>
  22:     0x7fd18029a4f0 - <unknown>
  23:     0x7fd17fa3eba0 - <unknown>
  24:     0x7fd17fa3e980 - <unknown>
  25:     0x7fd17f726280 - <unknown>
  26:     0x7fd17f434ad0 - <unknown>
  27:     0x7fd17f434ac0 - rust_try
  28:     0x7fd17f3e0a40 - unwind::try::hb052988446d45dc3imd
  29:     0x7fd17f3e08c0 - task::Task::run::h28d352999c4a334eWBc
  30:     0x7fd17f725fc0 - <unknown>
  31:     0x7fd17f3e2190 - <unknown>
  32:     0x7fd17a409250 - start_thread
  33:     0x7fd17f0bc3b9 - clone
  34:                0x0 - <unknown>

Could not compile `bug`.

Caused by:
  Process didn't exit successfully: `rustc /home/trypt/tmp/bug/src/main.rs --crate-name bug --crate-type bin -g --out-dir /home/trypt/tmp/bug/target --dep-info /home/trypt/tmp/bug/target/.fingerprint/bug-67113fbff5bc7356/dep-bin-bug -L /home/trypt/tmp/bug/target -L /home/trypt/tmp/bug/target/deps` (status=101)

I'm running rustc 0.13.0-dev (2130f2221 2014-10-21 19:32:10 +0000) on 64bit Arch Linux.

@sfackler sfackler added the I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ label Oct 22, 2014
@alexcrichton
Copy link
Member

cc @nick29581

@nrc
Copy link
Member

nrc commented Oct 22, 2014

dup of #18061

(you should use 0.5f32.fract() for now)

@nrc nrc closed this as completed Oct 22, 2014
lnicola pushed a commit to lnicola/rust that referenced this issue Oct 17, 2024
Do not consider match/let/ref of place that evaluates to ! to diverge, disallow coercions from them too

Resolves rust-lang#18237
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
Projects
None yet
Development

No branches or pull requests

4 participants