Skip to content

ICE when simplest rust-call method is called #22565

Closed
@nagisa

Description

@nagisa

Derivation of #16039, which was closed because it failed to compile for other reasons:

struct A;
impl A {
    extern "rust-call" fn b(i: i32) {}
}

fn main () {
    A::b(10);
}
error: internal compiler error: argument to function with "rust-call" ABI is neither a tuple nor unit
note: the compiler unexpectedly panicked. 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
thread 'rustc' panicked at 'Box<Any>', /home/rustbuild/src/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libsyntax/diagnostic.rs:189

stack backtrace:
   1:     0x7f3d5137aa60 - sys::backtrace::write::h17046f691c944fd6wlB
   2:     0x7f3d513a3650 - failure::on_fail::hc6163ed550dbd15faOK
   3:     0x7f3d512e9e10 - rt::unwind::begin_unwind_inner::hf466231ca0fbfbbdvsK
   4:     0x7f3d4e6569c0 - rt::unwind::begin_unwind::h15994696547183619422
   5:     0x7f3d4e657180 - diagnostic::Handler::bug::h1bc3ded4b9cf6157abF
   6:     0x7f3d4f359030 - session::Session::bug::h0d2283befd4ab8993ds
   7:     0x7f3d500a4bd0 - trans::type_of::type_of_rust_fn::h653f330b805e918apWo
   8:     0x7f3d500acac0 - trans::base::decl_rust_fn::h55f15a19d1270dfe9gs
   9:     0x7f3d500bfe70 - trans::base::register_fn::h09121dffeb6c811fDXu
  10:     0x7f3d500c1e10 - trans::base::register_method::h49e3ff79a84c5d89ZBv
  11:     0x7f3d4ffd5b30 - trans::base::get_item_val::hc88b3b1356c15164vkv
  12:     0x7f3d4ffd3410 - trans::base::trans_item::ha4ea07b91896bde9tPu
  13:     0x7f3d500c20f0 - trans::base::trans_crate::hc435c9fdb6f30ff4NMv
  14:     0x7f3d519c5250 - driver::phase_4_translate_to_llvm::hb02bd998f41b29a0wPa
  15:     0x7f3d5199e170 - driver::compile_input::h91ff1ed16e22d05cEba
  16:     0x7f3d51a71ea0 - run_compiler::h9c581f85e29a6b265bc
  17:     0x7f3d51a70500 - thunk::F.Invoke<A, R>::invoke::h5155567596601403298
  18:     0x7f3d51a6f3f0 - rt::unwind::try::try_fn::h5629523784837248188
  19:     0x7f3d5140ff20 - rust_try_inner
  20:     0x7f3d5140ff10 - rust_try
  21:     0x7f3d51a6f6a0 - thunk::F.Invoke<A, R>::invoke::h7807062886684583533
  22:     0x7f3d5138f190 - sys::thread::thread_start::h57c9c75c73c301cbfVF
  23:     0x7f3d4b3312b0 - start_thread
  24:     0x7f3d50f70249 - __clone
  25:                0x0 - <unknown>

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.F-unboxed_closures`#![feature(unboxed_closures)]`I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️P-mediumMedium priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.glacierICE tracked in rust-lang/glacier.requires-nightlyThis issue requires a nightly compiler in some way.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions