HigherOrderCO/hvm-64

"Entered unreachable code" when applying Op2 to non-numeric argument

Closed this issue · 1 comments

data Foo.T = Foo
main = (^ 28416 Foo)

⬇️

01800004000000d8 01800005000000d8
thread '<unnamed>' panicked at 'internal error: entered unreachable code', /Users/martinjaniczek/.cargo/git/checkouts/hvm-core-31580e46fc731f4f/7d8053d/src/run.rs:729:67
stack backtrace:
   0:        0x100342e74 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h6d1ef757ca6aa08c
   1:        0x1002731f4 - core::fmt::write::h24aade456e61cbc1
   2:        0x100323a9c - std::io::Write::write_fmt::h5df313f4d7305ca8
   3:        0x1003466a8 - std::sys_common::backtrace::print::h509ed65c6d882fc0
   4:        0x1003462e0 - std::panicking::default_hook::{{closure}}::h9d25327d11b3fd1b
   5:        0x1003471cc - std::panicking::rust_panic_with_hook::h1d6008cc2f3fe794
   6:        0x100346d24 - std::panicking::begin_panic_handler::{{closure}}::hd15752c0e75f10f5
   7:        0x100346cb8 - std::sys_common::backtrace::__rust_end_short_backtrace::h6334164110c20096
   8:        0x100346cac - _rust_begin_unwind
   9:        0x100348d60 - core::panicking::panic_fmt::h09e6dc0b209e1ff9
  10:        0x100348e88 - core::panicking::panic::hd967f53605ad7120
  11:        0x100284f6c - std::sys_common::backtrace::__rust_begin_short_backtrace::haf3e1d75ee7a05a4
  12:        0x100285e5c - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb62ee96d3c082907
  13:        0x100347aec - std::sys::unix::thread::Thread::new::thread_start::h4b97637403528bf6
  14:        0x18def6034 - __pthread_joiner_wake

(and the hvml run process hangs, unless it's ran with -1)

Yeah, currently numeric operations aren't defined to annihilate, but they will be soon.