Skip to content

ICE on cross-crate reexported unit struct #12660

Closed
@alexcrichton

Description

@alexcrichton
// foo.rs
#[crate_type = "lib"];

pub use foo::{T, foo};

mod foo {
    pub struct T;

    pub fn foo(x: T) { }
}

fn bar(x: T) { }
// bar.rs
extern crate foo;

fn main() {
    let x = foo::T;
    foo::foo(x);
}
$ rustc foo.rs                                        
foo.rs:8:16: 8:17 warning: unused variable: `x`, #[warn(unused_variable)] on by default
foo.rs:8     pub fn foo(x: T) { }
                        ^
foo.rs:11:1: 11:17 warning: code is never used: `bar`, #[warn(dead_code)] on by default
foo.rs:11 fn bar(x: T) { }
          ^~~~~~~~~~~~~~~~
foo.rs:11:8: 11:9 warning: unused variable: `x`, #[warn(unused_variable)] on by default
foo.rs:11 fn bar(x: T) { }
                 ^
$ RUST_BACKTRACE=1 rustc bar.rs -L.                           
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://static.rust-lang.org/doc/master/complement-bugreport.html
note: run with `RUST_BACKTRACE=1` for a backtrace
task 'rustc' failed at 'expected bare rust fn or an intrinsic', /Users/rustbuild/src/rust-buildbot/slave/nightly-mac/build/src/librustc/middle/trans/base.rs:1680
stack backtrace:
   1:        0x110cef874 - rt::backtrace::imp::write::h582661243a615e40bJa::v0.11.pre
   2:        0x110c53f06 - rt::unwind::begin_unwind_inner::h5002e0468a55cabcFja::v0.11.pre
   3:        0x10de45138 - rt::unwind::begin_unwind::h670fd7da7bbaeb39XSp::v0.11.pre
   4:        0x10df2c042 - middle::trans::base::register_fn::hbb8759275b04cae89Eo::v0.11.pre
   5:        0x10de52e52 - middle::trans::base::get_item_val::h1dad62be08e5991cjSo::v0.11.pre
   6:        0x10dead30f - middle::trans::callee::trans_fn_ref_with_vtables::hd733f6b7fa8eefa3Vgd::v0.11.pre
   7:        0x10dea8a7f - middle::trans::callee::trans_fn_ref::h6a1417fef0060143fad::v0.11.pre
   8:        0x10dec40e3 - middle::trans::expr::trans_def::he35a3c93856d755dJ4e::v0.11.pre
   9:        0x10debcd9a - middle::trans::expr::trans_unadjusted::haae245a7ffe8dcdc8Ke::v0.11.pre
  10:        0x10de83b4d - middle::trans::expr::trans_into::h0e643c2e225a30a12me::v0.11.pre
  11:        0x10df552df - middle::trans::_match::store_local::closure.60265
  12:        0x10df5506d - middle::trans::_match::mk_binding_alloca::h82ee2b7aab9fd4e0Z7s::v0.11.pre
  13:        0x10df1f8ea - middle::trans::_match::store_local::h1c633f23d36a0e6200s::v0.11.pre
  14:        0x10de8403a - middle::trans::base::init_local::hdfee3862f4f3e9b2OJn::v0.11.pre
  15:        0x10de830b6 - middle::trans::controlflow::trans_stmt::h86aa667e8541c7bdgYa::v0.11.pre
  16:        0x10de848d1 - middle::trans::controlflow::trans_block::h8aa8f39fad96fc82k2a::v0.11.pre
  17:        0x10df262c7 - middle::trans::base::trans_closure::h4e08e9cd3360b77aTeo::v0.11.pre
  18:        0x10de566f7 - middle::trans::base::trans_fn::hdf8711108b73013cImo::v0.11.pre
  19:        0x10de519f8 - middle::trans::base::trans_item::h7661c7f317341e64kyo::v0.11.pre
  20:        0x10df2a031 - middle::trans::base::trans_mod::h9eb441b3554b8c85pDo::v0.11.pre
  21:        0x10df33444 - middle::trans::base::trans_crate::hfe2773250e6168b518p::v0.11.pre
  22:        0x10e62090e - driver::driver::phase_4_translate_to_llvm::he8011930693c3fablve::v0.11.pre
  23:        0x10e623c56 - driver::driver::compile_input::hea278442c58ce8f7aLe::v0.11.pre
  24:        0x10e647f58 - run_compiler::he3998ac58048ca23Rcm::v0.11.pre
  25:        0x10e65badd - main_args::closure.91897
  26:        0x10e65a2f2 - monitor::closure.91782
  27:        0x10e655e9b - task::TaskBuilder::try::closure.91557
  28:        0x10de0950c - task::spawn_opts::closure.7941
  29:        0x110ceac98 - rt::task::Task::run::closure.41277
  30:        0x110cf568c - rust_try
  31:        0x110ceab17 - rt::task::Task::run::hdd1e4ef4aaf329acIc8::v0.11.pre
  32:        0x10de0938f - task::spawn_opts::closure.7913
  33:        0x110cee256 - rt::thread::thread_start::h6e64617662b609aepR8::v0.11.pre
  34:     0x7fff92737899 - _pthread_body
  35:     0x7fff9273772a - _pthread_struct_init

Metadata

Metadata

Assignees

No one assigned

    Labels

    I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions