| // 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>), | |
| } |