| //@ skip-filecheck | |
| // EMIT_MIR_FOR_EACH_PANIC_STRATEGY | |
| #![allow(incomplete_features)] | |
| #![feature(explicit_tail_calls)] | |
| // EMIT_MIR tail_call_drops.f.built.after.mir | |
| // Expected result: | |
| // drop(_d) -> drop(_c) -> drop(_a) -> tailcall g() | |
| // | |
| // EMIT_MIR tail_call_drops.f.ElaborateDrops.diff | |
| // Expected result: | |
| // drop(_d) -> drop(_a) -> tailcall g() | |
| fn f() { | |
| let _a = String::new(); | |
| let _b = 12; | |
| let _c = String::new(); | |
| let _d = String::new(); | |
| drop(_c); | |
| become g(); | |
| } | |
| fn g() {} | |
| // EMIT_MIR tail_call_drops.f_with_arg.built.after.mir | |
| // EMIT_MIR tail_call_drops.f_with_arg.ElaborateDrops.diff | |
| fn f_with_arg(_arg1: String, _arg2: String) { | |
| let _a = String::new(); | |
| let _b = 12; | |
| let _c = String::new(); | |
| let _d = String::new(); | |
| drop(_c); | |
| become g_with_arg(String::new(), String::new()); | |
| } | |
| fn g_with_arg(_arg1: String, _arg2: String) {} | |
| fn main() {} |