Skip to content

ICE: 'rustc' failed at 'index out of bounds: the len is 12 but the index is 12 - triggered by number of LoC #14091

@japaric

Description

@japaric

Believed current test case

(pnkfelix says: "if you are looking at this bug, please try to keep this test up-to-date ... potentially by checking the newest linked dupes in the comment feed below.")

// Very

// sensitive
pub struct BytePos(pub u32);

// to particular

// line numberings / offsets

fn main() {
    let x = BytePos(1);

    assert!(x, x);
}

Original Bug Filed

Script to reproduce:

fn main() {
    // if any comment line is removed, the ICE disappears
    // adding more lines keep the ICE alive
    //
    //
    //
    //
    //
    //
    //
    //
    //
    assert!(vec!(1.0), vec!(1.0))
}

Backtrace:

$ RUST_BACKTRACE=1 rustc ice.rs
<std macros>:8:12: 13:23 error: cannot apply unary operator `!` to type `std::vec::Vec<<generic float #0>>`
<std macros>:8         if !$cond {
<std macros>:9             fail!($($arg),+)
<std macros>:10         }
<std macros>:11     );
<std macros>:12 )
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 'index out of bounds: the len is 12 but the index is 12', /var/tmp/paludis/build/dev-lang-rust-scm/work/rust-scm/src/libsyntax/lib.rs:1
stack backtrace:
   1:     0x7f0c3dda8180 - rt::backtrace::imp::write::h706b65acfe967902xTF::v0.11.pre
   2:     0x7f0c3dd11730 - rt::unwind::begin_unwind_inner::hcc57db58853efcfdAtF::v0.11.pre
   3:     0x7f0c3dda7e10 - <unknown>
   4:     0x7f0c3dda7d30 - rust_fail_bounds_check
   5:     0x7f0c3ddb9a90 - failure::fail_bounds_check::h8ed58f060b870dd6EwF::v0.11.pre
   6:     0x7f0c3d1d80f0 - codemap::FileMap::get_line::hbf104ad3bfda6f77Drd::v0.11.pre
   7:     0x7f0c3d1d4e90 - <unknown>
   8:     0x7f0c3d1ccd40 - diagnostic::EmitterWriter.Emitter::emit::h7c42f3840a82760aQcc::v0.11.pre
   9:     0x7f0c3d1c9f90 - diagnostic::Handler::emit::h971cc5635478154dV0b::v0.11.pre
  10:     0x7f0c3d1c8ec0 - diagnostic::SpanHandler::span_err::h3735f152282993cc3Sb::v0.11.pre
  11:     0x7f0c3eadda90 - middle::typeck::infer::InferCtxt<'a>::type_error_message_str_with_expected::he1b302cd7901cc2apJq::v0.11.pre
  12:     0x7f0c3eb7f0e0 - middle::typeck::infer::InferCtxt<'a>::type_error_message::h6e536a01d806a7af7Qq::v0.11.pre
  13:     0x7f0c3eb8d9f0 - <unknown>
  14:     0x7f0c3eb8b250 - <unknown>
  15:     0x7f0c3eb8d650 - <unknown>
  16:     0x7f0c3eb7fb20 - <unknown>
  17:     0x7f0c3eb7fb20 - <unknown>
  18:     0x7f0c3eb5fd00 - middle::typeck::check::check_block_with_expected::hec61a0d86b711c5ck7c::v0.11.pre
  19:     0x7f0c3eb5af90 - <unknown>
  20:     0x7f0c3eb5ad30 - <unknown>
  21:     0x7f0c3eb53790 - middle::typeck::check::check_item::he7c19452bac809220R8::v0.11.pre
  22:     0x7f0c3eb5ab30 - middle::typeck::check::check_item_types::hca38e25e2d3c1969ek8::v0.11.pre
  23:     0x7f0c3ec9d280 - <unknown>
  24:     0x7f0c3ec9c090 - middle::typeck::check_crate::h540b9b663571145fQgw::v0.11.pre
  25:     0x7f0c3f0e8e90 - driver::driver::phase_3_run_analysis_passes::h129732fc31300f8bbei::v0.11.pre
  26:     0x7f0c3f0eef10 - driver::driver::compile_input::h36b4d97be6c65511gEi::v0.11.pre
  27:     0x7f0c3f1143c0 - run_compiler::hd111892d49d8dfe1saq::v0.11.pre
  28:     0x7f0c3f12ffb0 - <unknown>
  29:     0x7f0c3f12e860 - <unknown>
  30:     0x7f0c3f129020 - <unknown>
  31:     0x7f0c3e2ce670 - <unknown>
  32:     0x7f0c3dd9f430 - <unknown>
  33:     0x7f0c3ddc04a0 - rust_try
  34:     0x7f0c3dd9f270 - rt::task::Task::run::hd2e6ec18f16de5eeiiD::v0.11.pre
  35:     0x7f0c3e2ce440 - <unknown>
  36:     0x7f0c3dda6c60 - <unknown>
  37:     0x7f0c3ba9c000 - start_thread
  38:     0x7f0c3d9e43d9 - clone
  39:                0x0 - <unknown>

Version:

$ rustc --version
rustc 0.11-pre (1001635 2014-05-10 09:56:34 -0700)
host: x86_64-unknown-linux-gnu

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