+ | Call { destination: None, cleanup: Some(ref t), .. }
+ | Call { destination: Some((_, ref t)), cleanup: None, .. }
+ | Yield { resume: ref t, drop: None, .. }
+ | DropAndReplace { target: ref t, unwind: None, .. }
+ | Drop { target: ref t, unwind: None, .. }
+ | Assert { target: ref t, cleanup: None, .. }
+ | FalseUnwind { real_target: ref t, unwind: None } => Some(t).into_iter().chain(&[]),
+ Call { destination: Some((_, ref t)), cleanup: Some(ref u), .. }
+ | Yield { resume: ref t, drop: Some(ref u), .. }
+ | DropAndReplace { target: ref t, unwind: Some(ref u), .. }
+ | Drop { target: ref t, unwind: Some(ref u), .. }
+ | Assert { target: ref t, cleanup: Some(ref u), .. }
+ | FalseUnwind { real_target: ref t, unwind: Some(ref u) } => {
+ Some(t).into_iter().chain(slice::from_ref(u))