Check whether the closure's owner has a body before deferring to it in thir-unsafeck

This commit is contained in:
Fabian Wolff 2021-06-08 17:19:16 +02:00
parent a50d72158e
commit 433c1aec21
2 changed files with 28 additions and 3 deletions

View file

@ -0,0 +1,20 @@
// Tests that no ICE occurs when a closure appears inside a node
// that does not have a body when compiling with
// compile-flags: -Zthir-unsafeck=yes
// check-pass
#![allow(dead_code)]
struct Bug {
inner: [(); match || 1 {
_n => 42, // we may not call the closure here (E0015)
}],
}
enum E {
V([(); { let _ = || 1; 42 }]),
}
type Ty = [(); { let _ = || 1; 42 }];
fn main() {}