1 - // MIR for `float_to_exponential_common` before ConstProp
2 + // MIR for `float_to_exponential_common` after ConstProp
4 fn float_to_exponential_common(_1: &mut Formatter<'_>, _2: &T, _3: bool) -> Result<(), std::fmt::Error> {
5 debug fmt => _1; // in scope 0 at $DIR/funky_arms.rs:+0:35: +0:38
6 debug num => _2; // in scope 0 at $DIR/funky_arms.rs:+0:60: +0:63
7 debug upper => _3; // in scope 0 at $DIR/funky_arms.rs:+0:69: +0:74
8 let mut _0: std::result::Result<(), std::fmt::Error>; // return place in scope 0 at $DIR/funky_arms.rs:+0:85: +0:91
9 let _4: bool; // in scope 0 at $DIR/funky_arms.rs:+4:9: +4:19
10 let mut _5: &std::fmt::Formatter<'_>; // in scope 0 at $DIR/funky_arms.rs:+4:22: +4:37
11 let mut _7: std::option::Option<usize>; // in scope 0 at $DIR/funky_arms.rs:+13:30: +13:45
12 let mut _8: &std::fmt::Formatter<'_>; // in scope 0 at $DIR/funky_arms.rs:+13:30: +13:45
13 let mut _9: isize; // in scope 0 at $DIR/funky_arms.rs:+13:12: +13:27
14 let mut _11: &mut std::fmt::Formatter<'_>; // in scope 0 at $DIR/funky_arms.rs:+15:43: +15:46
15 let mut _12: &T; // in scope 0 at $DIR/funky_arms.rs:+15:48: +15:51
16 let mut _13: core::num::flt2dec::Sign; // in scope 0 at $DIR/funky_arms.rs:+15:53: +15:57
17 let mut _14: u32; // in scope 0 at $DIR/funky_arms.rs:+15:59: +15:79
18 let mut _15: u32; // in scope 0 at $DIR/funky_arms.rs:+15:59: +15:75
19 let mut _16: usize; // in scope 0 at $DIR/funky_arms.rs:+15:59: +15:68
20 let mut _17: bool; // in scope 0 at $DIR/funky_arms.rs:+15:81: +15:86
21 let mut _18: &mut std::fmt::Formatter<'_>; // in scope 0 at $DIR/funky_arms.rs:+17:46: +17:49
22 let mut _19: &T; // in scope 0 at $DIR/funky_arms.rs:+17:51: +17:54
23 let mut _20: core::num::flt2dec::Sign; // in scope 0 at $DIR/funky_arms.rs:+17:56: +17:60
24 let mut _21: bool; // in scope 0 at $DIR/funky_arms.rs:+17:62: +17:67
26 debug force_sign => _4; // in scope 1 at $DIR/funky_arms.rs:+4:9: +4:19
27 let _6: core::num::flt2dec::Sign; // in scope 1 at $DIR/funky_arms.rs:+8:9: +8:13
29 debug sign => _6; // in scope 2 at $DIR/funky_arms.rs:+8:9: +8:13
31 debug precision => _10; // in scope 3 at $DIR/funky_arms.rs:+13:17: +13:26
32 let _10: usize; // in scope 3 at $DIR/funky_arms.rs:+13:17: +13:26
38 StorageLive(_4); // scope 0 at $DIR/funky_arms.rs:+4:9: +4:19
39 StorageLive(_5); // scope 0 at $DIR/funky_arms.rs:+4:22: +4:37
40 _5 = &(*_1); // scope 0 at $DIR/funky_arms.rs:+4:22: +4:37
41 _4 = Formatter::<'_>::sign_plus(move _5) -> bb1; // scope 0 at $DIR/funky_arms.rs:+4:22: +4:37
43 // + span: $DIR/funky_arms.rs:15:26: 15:35
44 // + literal: Const { ty: for<'a> fn(&'a Formatter<'_>) -> bool {Formatter::<'_>::sign_plus}, val: Value(<ZST>) }
48 StorageDead(_5); // scope 0 at $DIR/funky_arms.rs:+4:36: +4:37
49 StorageLive(_6); // scope 1 at $DIR/funky_arms.rs:+8:9: +8:13
50 switchInt(_4) -> [0: bb3, otherwise: bb2]; // scope 1 at $DIR/funky_arms.rs:+8:16: +8:32
54 Deinit(_6); // scope 1 at $DIR/funky_arms.rs:+10:17: +10:41
55 discriminant(_6) = 1; // scope 1 at $DIR/funky_arms.rs:+10:17: +10:41
56 goto -> bb4; // scope 1 at $DIR/funky_arms.rs:+10:17: +10:41
60 Deinit(_6); // scope 1 at $DIR/funky_arms.rs:+9:18: +9:38
61 discriminant(_6) = 0; // scope 1 at $DIR/funky_arms.rs:+9:18: +9:38
62 goto -> bb4; // scope 1 at $DIR/funky_arms.rs:+9:18: +9:38
66 StorageLive(_7); // scope 3 at $DIR/funky_arms.rs:+13:30: +13:45
67 StorageLive(_8); // scope 3 at $DIR/funky_arms.rs:+13:30: +13:45
68 _8 = &(*_1); // scope 3 at $DIR/funky_arms.rs:+13:30: +13:45
69 _7 = Formatter::<'_>::precision(move _8) -> bb5; // scope 3 at $DIR/funky_arms.rs:+13:30: +13:45
71 // + span: $DIR/funky_arms.rs:24:34: 24:43
72 // + literal: Const { ty: for<'a> fn(&'a Formatter<'_>) -> Option<usize> {Formatter::<'_>::precision}, val: Value(<ZST>) }
76 StorageDead(_8); // scope 3 at $DIR/funky_arms.rs:+13:44: +13:45
77 _9 = discriminant(_7); // scope 3 at $DIR/funky_arms.rs:+13:12: +13:27
78 switchInt(move _9) -> [1: bb6, otherwise: bb8]; // scope 3 at $DIR/funky_arms.rs:+13:12: +13:27
82 StorageLive(_10); // scope 3 at $DIR/funky_arms.rs:+13:17: +13:26
83 _10 = ((_7 as Some).0: usize); // scope 3 at $DIR/funky_arms.rs:+13:17: +13:26
84 StorageLive(_11); // scope 3 at $DIR/funky_arms.rs:+15:43: +15:46
85 _11 = &mut (*_1); // scope 3 at $DIR/funky_arms.rs:+15:43: +15:46
86 StorageLive(_13); // scope 3 at $DIR/funky_arms.rs:+15:53: +15:57
87 _13 = _6; // scope 3 at $DIR/funky_arms.rs:+15:53: +15:57
88 StorageLive(_14); // scope 3 at $DIR/funky_arms.rs:+15:59: +15:79
89 StorageLive(_15); // scope 3 at $DIR/funky_arms.rs:+15:59: +15:75
90 _15 = _10 as u32 (IntToInt); // scope 3 at $DIR/funky_arms.rs:+15:59: +15:75
91 _14 = Add(move _15, const 1_u32); // scope 3 at $DIR/funky_arms.rs:+15:59: +15:79
92 StorageDead(_15); // scope 3 at $DIR/funky_arms.rs:+15:78: +15:79
93 _0 = float_to_exponential_common_exact::<T>(move _11, _2, move _13, move _14, _3) -> bb7; // scope 3 at $DIR/funky_arms.rs:+15:9: +15:87
95 // + span: $DIR/funky_arms.rs:26:9: 26:42
96 // + literal: Const { ty: for<'a, 'b, 'c> fn(&'a mut Formatter<'b>, &'c T, Sign, u32, bool) -> Result<(), std::fmt::Error> {float_to_exponential_common_exact::<T>}, val: Value(<ZST>) }
100 StorageDead(_14); // scope 3 at $DIR/funky_arms.rs:+15:86: +15:87
101 StorageDead(_13); // scope 3 at $DIR/funky_arms.rs:+15:86: +15:87
102 StorageDead(_11); // scope 3 at $DIR/funky_arms.rs:+15:86: +15:87
103 goto -> bb10; // scope 2 at $DIR/funky_arms.rs:+13:5: +18:6
107 StorageLive(_18); // scope 2 at $DIR/funky_arms.rs:+17:46: +17:49
108 _18 = &mut (*_1); // scope 2 at $DIR/funky_arms.rs:+17:46: +17:49
109 StorageLive(_20); // scope 2 at $DIR/funky_arms.rs:+17:56: +17:60
110 _20 = _6; // scope 2 at $DIR/funky_arms.rs:+17:56: +17:60
111 _0 = float_to_exponential_common_shortest::<T>(move _18, _2, move _20, _3) -> bb9; // scope 2 at $DIR/funky_arms.rs:+17:9: +17:68
113 // + span: $DIR/funky_arms.rs:28:9: 28:45
114 // + literal: Const { ty: for<'a, 'b, 'c> fn(&'a mut Formatter<'b>, &'c T, Sign, bool) -> Result<(), std::fmt::Error> {float_to_exponential_common_shortest::<T>}, val: Value(<ZST>) }
118 StorageDead(_20); // scope 2 at $DIR/funky_arms.rs:+17:67: +17:68
119 StorageDead(_18); // scope 2 at $DIR/funky_arms.rs:+17:67: +17:68
120 goto -> bb10; // scope 2 at $DIR/funky_arms.rs:+13:5: +18:6
124 StorageDead(_6); // scope 1 at $DIR/funky_arms.rs:+19:1: +19:2
125 StorageDead(_4); // scope 0 at $DIR/funky_arms.rs:+19:1: +19:2
126 StorageDead(_7); // scope 0 at $DIR/funky_arms.rs:+19:1: +19:2
127 return; // scope 0 at $DIR/funky_arms.rs:+19:2: +19:2