This repository was archived by the owner on May 28, 2025. It is now read-only.
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;
39
39
40
40
impl < ' tcx > MirLint < ' tcx > for ConstProp {
41
41
fn run_lint ( & self , tcx : TyCtxt < ' tcx > , body : & Body < ' tcx > ) {
42
+ if body. tainted_by_errors . is_some ( ) {
43
+ return ;
44
+ }
45
+
42
46
// will be evaluated by miri and produce its errors there
43
47
if body. source . promoted . is_some ( ) {
44
48
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