Description
When compiling my modification to cargo, rustc panicked with the error "thread 'rustc' panicked at 'index out of bounds: the len is 176 but the index is 178', src/libcollections/vec.rs:1166". I'll attach the full code itself to this issue; I haven't narrowed it down to any particular source of the error (although my only change was to src/cargo/ops/resolve.rs, and the version without my changes does not crash).
rustc --version --verbose
:
rustc 1.9.0
binary: rustc
commit-hash: unknown
commit-date: unknown
host: x86_64-apple-darwin
release: 1.9.0
Backtrace:
[Zephyr cargo]% RUST_BACKTRACE=1 cargo test use_a_spec
Compiling cargo v0.12.0 (file:///Users/schu/projects/cargo)
error: internal compiler error: unexpected panic
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
note: run with RUST_BACKTRACE=1
for a backtrace
thread 'rustc' panicked at 'index out of bounds: the len is 176 but the index is 178', src/libcollections/vec.rs:1166
stack backtrace:
1: 0x104159cc8 - std::sys::backtrace::tracing::imp::write::h4c73fcd3363076f5
2: 0x104166115 - std::panicking::default_hook::_$u7b$$u7b$closure$u7d$$u7d$::h0422dbb3077e6747
3: 0x104165c4f - std::panicking::default_hook::haac48fa641db8fa2
4: 0x10412a8a6 - std::sys_common::unwind::begin_unwind_inner::h39d40f52add53ef7
5: 0x10412c9ae - std::sys_common::unwind::begin_unwind_fmt::h64c0ff793199cc1b
6: 0x1041574c7 - rust_begin_unwind
7: 0x10419c730 - core::panicking::panic_fmt::h73bf9d7e8e891a73
8: 0x10419c940 - core::panicking::panic_bounds_check::hc30e971884568c27
9: 0x102bfd779 - _<rustc_data_structures..unify..UnificationTable>::get::he21ecf90e8e4f73a
10: 0x102b91b34 - rustc::infer::InferCtxt::shallow_resolve::he47cdea6677f40d2
11: 0x102cfae51 - rustc::traits::fulfill::process_predicate::h8bbef05b37cf149a
12: 0x102cf9c63 - _<rustc_data_structures..obligation_forest..ObligationForest<O, T>>::process_obligations::h824becaa5c013776
13: 0x102cf52bc - rustc::traits::fulfill::FulfillmentContext::select_where_possible::hf3fc6484c301b5bb
14: 0x10049d024 - rustc_typeck::check::FnCtxt::select_obligations_where_possible::h623b6ae6ad660b2d
15: 0x1004af29c - rustc_typeck::check::FnCtxt::resolve_type_vars_if_possible::ha2a2b0468a33b7be
16: 0x1004c463a - rustc_typeck::check::demand::coerce::hd43013069440cf8a
17: 0x1004c1f40 - rustc_typeck::check::check_argument_types::ha726e4d47c9cf6ca
18: 0x1004c0e0c - rustc_typeck::check::check_method_argument_types::he368f9d4a41d1052
19: 0x1004c7488 - rustc_typeck::check::check_expr_with_expectation_and_lvalue_pref::h76666174c4b17386
20: 0x1004c538f - rustc_typeck::check::check_expr_with_expectation_and_lvalue_pref::h76666174c4b17386
21: 0x1004fcc07 - rustc_typeck::check::check_decl_initializer::h130cfba0c1b76b7a
22: 0x1004fccd0 - rustc_typeck::check::check_decl_local::he651fa13100c1d0f
23: 0x1004fcfaf - rustc_typeck::check::check_stmt::h90d31dcbe73b93a2
24: 0x1004a2dc7 - rustc_typeck::check::check_block_with_expected::h17e4ec74708f2b9a
25: 0x1004c4e31 - rustc_typeck::check::check_expr_with_expectation_and_lvalue_pref::h76666174c4b17386
26: 0x1004d7281 - rustc_typeck::check::_match::check_match::h663ea413d198c72f
27: 0x1004c50ac - rustc_typeck::check::check_expr_with_expectation_and_lvalue_pref::h76666174c4b17386
28: 0x1004a2f94 - rustc_typeck::check::check_block_with_expected::h17e4ec74708f2b9a
29: 0x1004d6aac - rustc_typeck::check::check_block_no_value::habc9ac13b558c874
30: 0x1004c4e97 - rustc_typeck::check::check_expr_with_expectation_and_lvalue_pref::h76666174c4b17386
31: 0x1004d7281 - rustc_typeck::check::match::check_match::h663ea413d198c72f
32: 0x1004c50ac - rustc_typeck::check::check_expr_with_expectation_and_lvalue_pref::h76666174c4b17386
33: 0x1004fcc07 - rustc_typeck::check::check_decl_initializer::h130cfba0c1b76b7a
34: 0x1004fccd0 - rustc_typeck::check::check_decl_local::he651fa13100c1d0f
35: 0x1004fcfaf - rustc_typeck::check::check_stmt::h90d31dcbe73b93a2
36: 0x1004a2dc7 - rustc_typeck::check::check_block_with_expected::h17e4ec74708f2b9a
37: 0x1004c4e31 - rustc_typeck::check::check_expr_with_expectation_and_lvalue_pref::h76666174c4b17386
38: 0x1004fcf51 - rustc_typeck::check::check_stmt::h90d31dcbe73b93a2
39: 0x1004a2dc7 - rustc_typeck::check::check_block_with_expected::h17e4ec74708f2b9a
40: 0x10049a408 - rustc_typeck::check::check_fn::hab7334b30b5aec4a
41: 0x100497ca7 - rustc_typeck::check::check_bare_fn::h85926feaf1e6659d
42: 0x100492b79 - rustc_typeck::check::check_item_body::h1895344155d5b2b2
43: 0x10048a9fb - rustc_typeck::check::check_item_bodies::h525c1aa0e1abb529
44: 0x10048222b - rustc_typeck::check_crate::h0ef96f4043e1e69a
45: 0x10020ae08 - rustc_driver::driver::phase_3_run_analysis_passes::
46: 0x100209042 - rustc::ty::context::TyCtxt::create_and_enter::h656b2d3a4956519e
47: 0x10020598c - rustc_driver::driver::phase_3_run_analysis_passes::h83da042ec4b8ea10
48: 0x1001d9231 - rustc_driver::driver::compile_input::h6491aaddd9e61258
49: 0x1001bfa4f - rustc_driver::run_compiler::h80b2ba5e4d787c5f
50: 0x1001bcde2 - std::sys_common::unwind::try::try_fn::h34e27823ddd1d5e9
51: 0x10415745b - __rust_try
52: 0x1041573e3 - std::sys_common::unwind::inner_try::h9eebd8dc83f388a6
53: 0x1001bd679 - _<F as std..boxed..FnBox>::call_box::h3d5d78986dfac5b2
54: 0x104164fe8 - std::sys::thread::Thread::new::thread_start::h471ad90789353b5b
55: 0x7fff8e3d699c - _pthread_body
56: 0x7fff8e3d6919 - _pthread_start
error: Could not compile cargo
.
To learn more, run the command again with --verbose.