Skip to content

Commit 7d9f4bc

Browse files
authored
Unrolled build for rust-lang#115643
Rollup merge of rust-lang#115643 - bvanjoi:fix-115203, r=RalfJung,oli-obk fix: return early when has tainted in mir-lint Fixes rust-lang#115203 `a[..]` is of indeterminate size, it had been reported error during borrow check, therefore we skip the mir lint process.
2 parents cd71a37 + 967410c commit 7d9f4bc

File tree

3 files changed

+34
-0
lines changed

3 files changed

+34
-0
lines changed

compiler/rustc_mir_transform/src/const_prop_lint.rs

+4
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@ pub struct ConstProp;
3939

4040
impl<'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;

tests/ui/unsized/issue-115203.rs

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
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+
}

tests/ui/unsized/issue-115203.stderr

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
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`.

0 commit comments

Comments
 (0)