mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-30 10:45:18 +00:00
26 lines
494 B
Rust
26 lines
494 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>)
|
|
}
|