diff options
Diffstat (limited to 'tests/mir-opt/inline/dyn_trait.get_query.Inline.panic-unwind.diff')
-rw-r--r-- | tests/mir-opt/inline/dyn_trait.get_query.Inline.panic-unwind.diff | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/mir-opt/inline/dyn_trait.get_query.Inline.panic-unwind.diff b/tests/mir-opt/inline/dyn_trait.get_query.Inline.panic-unwind.diff new file mode 100644 index 000000000..706c1d481 --- /dev/null +++ b/tests/mir-opt/inline/dyn_trait.get_query.Inline.panic-unwind.diff @@ -0,0 +1,45 @@ +- // MIR for `get_query` before Inline ++ // MIR for `get_query` after Inline + + fn get_query(_1: &T) -> () { + debug t => _1; + let mut _0: (); + let _2: &<Q as Query>::C; + let mut _3: &T; + let mut _4: &<Q as Query>::C; + scope 1 { + debug c => _2; ++ scope 2 (inlined try_execute_query::<<Q as Query>::C>) { ++ debug c => _4; ++ let mut _5: &dyn Cache<V = <Q as Query>::V>; ++ scope 3 (inlined mk_cycle::<<Q as Query>::V>) { ++ debug c => _5; ++ } ++ } + } + + bb0: { + StorageLive(_2); + StorageLive(_3); + _3 = &(*_1); + _2 = <Q as Query>::cache::<T>(move _3) -> [return: bb1, unwind continue]; + } + + bb1: { + StorageDead(_3); + StorageLive(_4); + _4 = &(*_2); +- _0 = try_execute_query::<<Q as Query>::C>(move _4) -> [return: bb2, unwind continue]; ++ StorageLive(_5); ++ _5 = _4 as &dyn Cache<V = <Q as Query>::V> (PointerCoercion(Unsize)); ++ _0 = <dyn Cache<V = <Q as Query>::V> as Cache>::store_nocache(_5) -> [return: bb2, unwind continue]; + } + + bb2: { ++ StorageDead(_5); + StorageDead(_4); + StorageDead(_2); + return; + } + } + |