summaryrefslogtreecommitdiffstats
path: root/tests/mir-opt/inline/dyn_trait.get_query.Inline.panic-unwind.diff
diff options
context:
space:
mode:
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.diff45
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;
+ }
+ }
+