- // MIR for `bar` before Deaggregator + // MIR for `bar` after Deaggregator fn bar(_1: usize) -> Baz { debug a => _1; // in scope 0 at $DIR/deaggregator_test_enum.rs:+0:8: +0:9 let mut _0: Baz; // return place in scope 0 at $DIR/deaggregator_test_enum.rs:+0:21: +0:24 let mut _2: usize; // in scope 0 at $DIR/deaggregator_test_enum.rs:+1:19: +1:20 bb0: { StorageLive(_2); // scope 0 at $DIR/deaggregator_test_enum.rs:+1:19: +1:20 _2 = _1; // scope 0 at $DIR/deaggregator_test_enum.rs:+1:19: +1:20 - _0 = Baz::Foo { x: move _2 }; // scope 0 at $DIR/deaggregator_test_enum.rs:+1:5: +1:22 + Deinit(_0); // scope 0 at $DIR/deaggregator_test_enum.rs:+1:5: +1:22 + ((_0 as Foo).0: usize) = move _2; // scope 0 at $DIR/deaggregator_test_enum.rs:+1:5: +1:22 + discriminant(_0) = 1; // scope 0 at $DIR/deaggregator_test_enum.rs:+1:5: +1:22 StorageDead(_2); // scope 0 at $DIR/deaggregator_test_enum.rs:+1:21: +1:22 return; // scope 0 at $DIR/deaggregator_test_enum.rs:+2:2: +2:2 } }