
Description
Taken from (https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports):
I tried to compile code to sort a vector. Instead, it gave me a compile error.
I tried this code:
fn main() {
let new_map: *mut Vec<*const str> = &mut Vec::new();
unsafe {
(*new_map).sort_by(|a, b| a.cmp(b));
}
}
I expected to see this happen: Compile a program to sort a vector
Instead, this happened: Compile error
Meta
rustc --version --verbose
:
rustc 1.0.0 (a59de37 2015-05-13) (built 2015-05-14)
binary: rustc
commit-hash: a59de37
commit-date: 2015-05-13
build-date: 2015-05-14
host: x86_64-apple-darwin
release: 1.0.0
Backtrace:
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 'assertion failed: self.appropriate_rvalue_mode(bcx.ccx()) == ByValue', /Users/rustbuild/src/rust-buildbot/slave/stable-dist-rustc-mac/build/src/librustc_trans/trans/datum.rs:646
stack backtrace:
1: 0x106a9ce7f - sys::backtrace::write::h7807ec07859fb503t1r
2: 0x106aa54b2 - panicking::on_panic::ha0ed2b9b562a7f9ctZv
3: 0x106a61e35 - rt::unwind::begin_unwind_inner::hbfb8d99cb52be7a1cHv
4: 0x103abbb1f - rt::unwind::begin_unwind::h17573835868208297571
5: 0x103b5267d - trans::datum::Datum<'tcx, K>::to_llscalarish::h18059270282086316317
6: 0x103bda787 - trans::expr::trans_binary::h94d14ab3c2c14ea7O6B
7: 0x103bd0a32 - trans::expr::trans_unadjusted::h263ec47f91647a4d9zA
8: 0x103ba4ae7 - trans::expr::trans_into::hbb46bcc22ed210c3X6z
9: 0x103b241b9 - trans::controlflow::trans_block::hdf65bd89d5d3fafb02u
10: 0x103b22b55 - trans::base::trans_closure::h41cb738fdafdcb78LCh
11: 0x103b247ee - trans::base::trans_fn::hbccbee21cfd23d2atNh
12: 0x103b66c65 - trans::monomorphize::monomorphic_fn::hb0b9d13fdbb393b9tCJ
13: 0x103b56537 - trans::callee::trans_fn_ref_with_substs::h65df1c1a3f07d589UEn
14: 0x103b556bd - trans::meth::trans_static_method_callee::h59b2a8c075f63013DEI
15: 0x103b51f52 - trans::callee::trans::hf3e13a5b6c64ff57jin
16: 0x103b6786d - trans::callee::trans_call_inner::h8933410478418265344
17: 0x103bd244f - trans::expr::trans_rvalue_dps_unadjusted::hb679c5947dd23995C5A
18: 0x103ba4ac7 - trans::expr::trans_into::hbb46bcc22ed210c3X6z
19: 0x103b241b9 - trans::controlflow::trans_block::hdf65bd89d5d3fafb02u
20: 0x103b22b55 - trans::base::trans_closure::h41cb738fdafdcb78LCh
21: 0x103b247ee - trans::base::trans_fn::hbccbee21cfd23d2atNh
22: 0x103b66c65 - trans::monomorphize::monomorphic_fn::hb0b9d13fdbb393b9tCJ
23: 0x103b56537 - trans::callee::trans_fn_ref_with_substs::h65df1c1a3f07d589UEn
24: 0x103b6c861 - trans::meth::trans_method_callee::ha28edc2f1b2a8fd0uzI
25: 0x103bdf155 - trans::expr::trans_overloaded_op::ha6335bd9494cd525tcC
26: 0x103bd16d6 - trans::expr::trans_rvalue_dps_unadjusted::hb679c5947dd23995C5A
27: 0x103bd0864 - trans::expr::trans_unadjusted::h263ec47f91647a4d9zA
28: 0x103b0266f - trans::expr::trans::h1978f8d98b53e4e9gdA
29: 0x103bd25dd - trans::expr::trans_rvalue_dps_unadjusted::hb679c5947dd23995C5A
30: 0x103ba4ac7 - trans::expr::trans_into::hbb46bcc22ed210c3X6z
31: 0x103b241b9 - trans::controlflow::trans_block::hdf65bd89d5d3fafb02u
32: 0x103b22b55 - trans::base::trans_closure::h41cb738fdafdcb78LCh
33: 0x103b247ee - trans::base::trans_fn::hbccbee21cfd23d2atNh
34: 0x103b66c65 - trans::monomorphize::monomorphic_fn::hb0b9d13fdbb393b9tCJ
35: 0x103b56537 - trans::callee::trans_fn_ref_with_substs::h65df1c1a3f07d589UEn
36: 0x103b6c861 - trans::meth::trans_method_callee::ha28edc2f1b2a8fd0uzI
37: 0x103b6951c - trans::callee::trans_call_inner::h14698893033598190724
38: 0x103bd25b9 - trans::expr::trans_rvalue_dps_unadjusted::hb679c5947dd23995C5A
39: 0x103ba4ac7 - trans::expr::trans_into::hbb46bcc22ed210c3X6z
40: 0x103b241b9 - trans::controlflow::trans_block::hdf65bd89d5d3fafb02u
41: 0x103b22b55 - trans::base::trans_closure::h41cb738fdafdcb78LCh
42: 0x103b75504 - trans::closure::trans_closure_expr::h48c9ea863bfedc25Qwq
43: 0x103bd4013 - trans::expr::trans_rvalue_dps_unadjusted::hb679c5947dd23995C5A
44: 0x103bd099d - trans::expr::trans_unadjusted::h263ec47f91647a4d9zA
45: 0x103b0266f - trans::expr::trans::h1978f8d98b53e4e9gdA
46: 0x103b61eac - trans::callee::trans_args::h7d23e9d4c5491efcHko
47: 0x103b6a4f6 - trans::callee::trans_call_inner::h14698893033598190724
48: 0x103bd25b9 - trans::expr::trans_rvalue_dps_unadjusted::hb679c5947dd23995C5A
49: 0x103ba4ac7 - trans::expr::trans_into::hbb46bcc22ed210c3X6z
50: 0x103ba45b1 - trans::controlflow::trans_stmt_semi::h9f4c7751e520c73141u
51: 0x103b23e78 - trans::controlflow::trans_block::hdf65bd89d5d3fafb02u
52: 0x103bd19bc - trans::expr::trans_rvalue_dps_unadjusted::hb679c5947dd23995C5A
53: 0x103ba4ac7 - trans::expr::trans_into::hbb46bcc22ed210c3X6z
54: 0x103b241b9 - trans::controlflow::trans_block::hdf65bd89d5d3fafb02u
55: 0x103b22b55 - trans::base::trans_closure::h41cb738fdafdcb78LCh
56: 0x103b247ee - trans::base::trans_fn::hbccbee21cfd23d2atNh
57: 0x103b27d58 - trans::base::trans_item::hae807f8e0cfc6665Fbi
58: 0x103b36ba2 - trans::base::trans_crate::h2f3789dec4e60e5cF0i
59: 0x1035c727e - driver::phase_4_translate_to_llvm::h561d8971e5091942hOa
60: 0x10359f204 - driver::compile_input::hf0607b3d1fd498bcQba
61: 0x1036675a3 - run_compiler::he7a5311c755081d7z4b
62: 0x1036650ca - boxed::F.FnBox<A>::call_box::h5234503372052129763
63: 0x103664567 - rt::unwind::try::try_fn::h4031265711883657142
64: 0x106b26508 - rust_try_inner
65: 0x106b264f5 - rust_try
66: 0x103664840 - boxed::F.FnBox<A>::call_box::h1044299548107784679
67: 0x106aa3ffd - sys::thread::create::thread_start::ha3be9b31a8775143L4u
68: 0x7fff8d73e267 - _pthread_body
69: 0x7fff8d73e1e4 - _pthread_start