// MIR for `foo` after SimplifyCfg-initial fn foo(_1: Foo) -> () { debug foo => _1; let mut _0: (); let _2: (); let mut _3: u8; let _4: (); let mut _5: i8; let _6: (); let mut _7: bool; let _8: (); let mut _9: [u8; 1]; bb0: { StorageLive(_2); StorageLive(_3); _3 = (_1.0: u8); _2 = access::(move _3) -> [return: bb1, unwind: bb5]; } bb1: { StorageDead(_3); StorageDead(_2); StorageLive(_4); StorageLive(_5); _5 = ((_1.1: Foo::{anon_adt#0}).0: i8); _4 = access::(move _5) -> [return: bb2, unwind: bb5]; } bb2: { StorageDead(_5); StorageDead(_4); StorageLive(_6); StorageLive(_7); _7 = ((_1.1: Foo::{anon_adt#0}).1: bool); _6 = access::(move _7) -> [return: bb3, unwind: bb5]; } bb3: { StorageDead(_7); StorageDead(_6); StorageLive(_8); StorageLive(_9); _9 = (((_1.2: Foo::{anon_adt#1}).0: Foo::{anon_adt#1}::{anon_adt#0}).0: [u8; 1]); _8 = access::<[u8; 1]>(move _9) -> [return: bb4, unwind: bb5]; } bb4: { StorageDead(_9); StorageDead(_8); _0 = const (); return; } bb5 (cleanup): { resume; } }