mirror of https://github.com/rust-lang/rust.git
28 lines
499 B
Rust
28 lines
499 B
Rust
// skip-filecheck
|
|
// EMIT_MIR_FOR_EACH_PANIC_STRATEGY
|
|
// check that we clear the "ADT master drop flag" even when there are
|
|
// no fields to be dropped.
|
|
|
|
// EMIT_MIR issue_41888.main.ElaborateDrops.diff
|
|
fn main() {
|
|
let e;
|
|
if cond() {
|
|
e = E::F(K);
|
|
if let E::F(_k) = e {
|
|
// older versions of rustc used to not clear the
|
|
// drop flag for `e` in this path.
|
|
}
|
|
}
|
|
}
|
|
|
|
fn cond() -> bool {
|
|
false
|
|
}
|
|
|
|
struct K;
|
|
|
|
enum E {
|
|
F(K),
|
|
G(Box<E>),
|
|
}
|