You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
error[E0508]: cannot move out of type `[NonCopy; 1]`, a non-copy array (Ast)
--> e0509.rs:5:18
|
5 | let _value = array[0]; //~ ERROR E0508
| ^^^^^^^^
| |
| cannot move out of here
| help: consider using a reference instead: `&array[0]`
error: internal compiler error: rust://src/librustc_mir/util/borrowck_errors.rs:274: this path should not cause illegal move
--> e0509.rs:5:18
|
5 | let _value = array[0]; //~ ERROR E0508
| ^^^^^^^^
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: rustc 1.23.0-dev running on x86_64-unknown-linux-gnu
note: run with `RUST_BACKTRACE=1` for a backtrace
thread 'rustc' panicked at 'Box<Any>', rust://src/librustc_errors/lib.rs:450:8
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
stack backtrace:
0: std::sys::imp::backtrace::tracing::imp::unwind_backtrace
at rust://src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
1: std::sys_common::backtrace::_print
at rust://src/libstd/sys_common/backtrace.rs:69
2: std::panicking::default_hook::{{closure}}
at rust://src/libstd/sys_common/backtrace.rs:58
at rust://src/libstd/panicking.rs:381
3: std::panicking::default_hook
at rust://src/libstd/panicking.rs:391
4: std::panicking::rust_panic_with_hook
at rust://src/libstd/panicking.rs:577
5: std::panicking::begin_panic
at rust://src/libstd/panicking.rs:538
6: rustc_errors::Handler::span_bug
at ./<panic macros>:3
7: rustc::session::opt_span_bug_fmt::{{closure}}
at rust://src/librustc/session/mod.rs:980
8: rustc::session::span_bug_fmt
at rust://src/librustc/ty/context.rs:1538
at rust://src/librustc/ty/context.rs:1527
at rust://src/libstd/thread/local.rs:377
at rust://src/libstd/thread/local.rs:288
at rust://src/librustc/ty/context.rs:1523
at rust://src/librustc/ty/context.rs:1538
at rust://src/librustc/session/mod.rs:977
at rust://src/librustc/session/mod.rs:970
9: rustc_mir::util::borrowck_errors::BorrowckErrors::cannot_move_out_of_interior_noncopy
at rust://src/librustc_mir/util/borrowck_errors.rs:274
10: rustc_mir::borrow_check::mir_borrowck::{{closure}}
at rust://src/librustc_mir/borrow_check.rs:83
11: rustc_mir::borrow_check::mir_borrowck
at rust://src/librustc/infer/mod.rs:375
at rust://src/librustc/ty/context.rs:1511
at rust://src/libstd/thread/local.rs:377
at rust://src/libstd/thread/local.rs:288
at rust://src/librustc/ty/context.rs:1508
at rust://src/librustc/ty/context.rs:1319
at rust://src/librustc/infer/mod.rs:375
at rust://src/librustc_mir/borrow_check.rs:61
12: rustc::dep_graph::graph::DepGraph::with_task_impl
at rust://src/librustc/ty/maps/plumbing.rs:390
at rust://src/librustc/dep_graph/graph.rs:287
13: rustc::ty::maps::<impl rustc::ty::maps::queries::mir_borrowck<'tcx>>::force
at rust://src/librustc/dep_graph/graph.rs:203
at rust://src/librustc/ty/maps/plumbing.rs:442
at rust://src/librustc_errors/lib.rs:566
at rust://src/librustc/ty/maps/plumbing.rs:435
at rust://src/librustc/ty/maps/plumbing.rs:130
at rust://src/librustc/ty/maps/plumbing.rs:434
14: rustc::ty::maps::<impl rustc::ty::maps::queries::mir_borrowck<'tcx>>::try_get
at rust://src/librustc/ty/maps/plumbing.rs:313
at rust://src/librustc/ty/maps/plumbing.rs:471
15: rustc::ty::maps::TyCtxtAt::mir_borrowck
at rust://src/librustc/ty/maps/plumbing.rs:510
16: rustc::ty::maps::<impl rustc::ty::context::TyCtxt<'a, 'tcx, 'lcx>>::mir_borrowck
at rust://src/librustc/ty/maps/plumbing.rs:503
17: rustc_driver::driver::phase_3_run_analysis_passes::{{closure}}::{{closure}}
at rust://src/librustc_driver/driver.rs:1095
18: rustc::ty::context::TyCtxt::create_and_enter
at rust://src/librustc/util/common.rs:120
at rust://src/librustc_driver/driver.rs:1093
at rust://src/librustc/ty/context.rs:1511
at rust://src/libstd/thread/local.rs:377
at rust://src/libstd/thread/local.rs:288
at rust://src/librustc/ty/context.rs:1508
at rust://src/librustc/ty/context.rs:1495
at rust://src/libstd/thread/local.rs:377
at rust://src/libstd/thread/local.rs:288
at rust://src/librustc/ty/context.rs:1492
at rust://src/librustc/ty/context.rs:1136
19: rustc_driver::driver::compile_input
at rust://src/librustc_driver/driver.rs:1041
at rust://src/librustc_driver/driver.rs:210
20: rustc_driver::run_compiler
at rust://src/librustc_driver/lib.rs:252
It should be fixed to emit the same error as the AST.
The text was updated successfully, but these errors were encountered:
…rielb1
MIR-borrowck: don't ICE for cannot move from array error
Closesrust-lang#45694
compile-fail test E0508 now gives
```text
error[E0508]: cannot move out of type `[NonCopy; 1]`, a non-copy array (Ast)
--> .\src\test\compile-fail\E0508.rs:18:18
|
18 | let _value = array[0]; //[ast]~ ERROR E0508
| ^^^^^^^^
| |
| cannot move out of here
| help: consider using a reference instead: `&array[0]`
error[E0508]: cannot move out of type `[NonCopy; 1]`, a non-copy array (Mir)
--> .\src\test\compile-fail\E0508.rs:18:18
|
18 | let _value = array[0]; //[ast]~ ERROR E0508
| ^^^^^^^^ cannot move out of here
error: aborting due to 2 previous errors
```
…rielb1
MIR-borrowck: don't ICE for cannot move from array error
Closesrust-lang#45694
compile-fail test E0508 now gives
```text
error[E0508]: cannot move out of type `[NonCopy; 1]`, a non-copy array (Ast)
--> .\src\test\compile-fail\E0508.rs:18:18
|
18 | let _value = array[0]; //[ast]~ ERROR E0508
| ^^^^^^^^
| |
| cannot move out of here
| help: consider using a reference instead: `&array[0]`
error[E0508]: cannot move out of type `[NonCopy; 1]`, a non-copy array (Mir)
--> .\src\test\compile-fail\E0508.rs:18:18
|
18 | let _value = array[0]; //[ast]~ ERROR E0508
| ^^^^^^^^ cannot move out of here
error: aborting due to 2 previous errors
```
MIR-borrowck: moves out of arrays and slices cause an ICE instead of a correct error. For example, this code (the compile-fail test
E0508
):Causes the following ICE with MIR borrowck:
It should be fixed to emit the same error as the AST.
The text was updated successfully, but these errors were encountered: