File tree Expand file tree Collapse file tree 3 files changed +34
-0
lines changed
compiler/rustc_mir_transform/src Expand file tree Collapse file tree 3 files changed +34
-0
lines changed Original file line number Diff line number Diff line change @@ -39,6 +39,10 @@ pub struct ConstProp;
3939
4040impl < ' tcx > MirLint < ' tcx > for ConstProp {
4141 fn run_lint ( & self , tcx : TyCtxt < ' tcx > , body : & Body < ' tcx > ) {
42+ if body. tainted_by_errors . is_some ( ) {
43+ return ;
44+ }
45+
4246 // will be evaluated by miri and produce its errors there
4347 if body. source . promoted . is_some ( ) {
4448 return ;
Original file line number Diff line number Diff line change 1+ // compile-flags: --emit link
2+
3+ fn main ( ) {
4+ let a: [ i32 ; 0 ] = [ ] ;
5+ match [ a[ ..] ] {
6+ //~^ ERROR cannot move a value of type `[i32]
7+ //~| ERROR cannot move out of type `[i32]`, a non-copy slice
8+ [ [ ] ] => ( ) ,
9+ _ => ( ) ,
10+ }
11+ }
Original file line number Diff line number Diff line change 1+ error[E0161]: cannot move a value of type `[i32]`
2+ --> $DIR/issue-115203.rs:5:12
3+ |
4+ LL | match [a[..]] {
5+ | ^^^^^ the size of `[i32]` cannot be statically determined
6+
7+ error[E0508]: cannot move out of type `[i32]`, a non-copy slice
8+ --> $DIR/issue-115203.rs:5:12
9+ |
10+ LL | match [a[..]] {
11+ | ^^^^^
12+ | |
13+ | cannot move out of here
14+ | move occurs because value has type `[i32]`, which does not implement the `Copy` trait
15+
16+ error: aborting due to 2 previous errors
17+
18+ Some errors have detailed explanations: E0161, E0508.
19+ For more information about an error, try `rustc --explain E0161`.
You can’t perform that action at this time.
0 commit comments