|
4 | 4 | fn adt_transmutes() -> () {
|
5 | 5 | let mut _0: (); // return place in scope 0 at $DIR/combine_transmutes.rs:+0:32: +0:32
|
6 | 6 | let _1: u8; // in scope 0 at $DIR/combine_transmutes.rs:+1:9: +1:11
|
7 |
| - let mut _2: EnumNoRepr; // in scope 0 at $DIR/combine_transmutes.rs:+1:28: +1:41 |
8 |
| - let mut _4: EnumNoRepr; // in scope 0 at $DIR/combine_transmutes.rs:+2:28: +2:41 |
9 |
| - let mut _6: EnumReprIsize; // in scope 0 at $DIR/combine_transmutes.rs:+3:31: +3:47 |
10 |
| - let mut _8: EnumReprIsize; // in scope 0 at $DIR/combine_transmutes.rs:+4:31: +4:47 |
11 |
| - let mut _10: std::cmp::Ordering; // in scope 0 at $DIR/combine_transmutes.rs:+5:28: +5:52 |
12 |
| - let mut _12: std::cmp::Ordering; // in scope 0 at $DIR/combine_transmutes.rs:+6:28: +6:52 |
13 |
| - let mut _14: std::option::Option<std::num::NonZeroU8>; // in scope 0 at $DIR/combine_transmutes.rs:+7:28: +7:58 |
14 |
| - let mut _16: std::num::Wrapping<i16>; // in scope 0 at $DIR/combine_transmutes.rs:+8:29: +8:54 |
15 |
| - let mut _18: std::num::Wrapping<i16>; // in scope 0 at $DIR/combine_transmutes.rs:+9:29: +9:54 |
16 |
| - let mut _20: Union32; // in scope 0 at $DIR/combine_transmutes.rs:+10:29: +10:47 |
17 |
| - let mut _22: Union32; // in scope 0 at $DIR/combine_transmutes.rs:+11:29: +11:47 |
18 |
| - let mut _24: std::mem::MaybeUninit<std::string::String>; // in scope 0 at $DIR/combine_transmutes.rs:+12:46: +12:77 |
| 7 | + let mut _2: std::option::Option<std::num::NonZeroU8>; // in scope 0 at $DIR/combine_transmutes.rs:+1:28: +1:58 |
| 8 | + let mut _4: std::num::Wrapping<i16>; // in scope 0 at $DIR/combine_transmutes.rs:+2:29: +2:54 |
| 9 | + let mut _6: std::num::Wrapping<i16>; // in scope 0 at $DIR/combine_transmutes.rs:+3:29: +3:54 |
| 10 | + let mut _8: Union32; // in scope 0 at $DIR/combine_transmutes.rs:+4:29: +4:47 |
| 11 | + let mut _10: Union32; // in scope 0 at $DIR/combine_transmutes.rs:+5:29: +5:47 |
| 12 | + let mut _12: std::mem::MaybeUninit<std::string::String>; // in scope 0 at $DIR/combine_transmutes.rs:+6:46: +6:77 |
19 | 13 | scope 1 {
|
20 | 14 | debug _a => _1; // in scope 1 at $DIR/combine_transmutes.rs:+1:9: +1:11
|
21 |
| - let _3: i8; // in scope 1 at $DIR/combine_transmutes.rs:+2:9: +2:11 |
| 15 | + let _3: i16; // in scope 1 at $DIR/combine_transmutes.rs:+2:9: +2:11 |
22 | 16 | scope 2 {
|
23 | 17 | debug _a => _3; // in scope 2 at $DIR/combine_transmutes.rs:+2:9: +2:11
|
24 |
| - let _5: usize; // in scope 2 at $DIR/combine_transmutes.rs:+3:9: +3:11 |
| 18 | + let _5: u16; // in scope 2 at $DIR/combine_transmutes.rs:+3:9: +3:11 |
25 | 19 | scope 3 {
|
26 | 20 | debug _a => _5; // in scope 3 at $DIR/combine_transmutes.rs:+3:9: +3:11
|
27 |
| - let _7: isize; // in scope 3 at $DIR/combine_transmutes.rs:+4:9: +4:11 |
| 21 | + let _7: u32; // in scope 3 at $DIR/combine_transmutes.rs:+4:9: +4:11 |
28 | 22 | scope 4 {
|
29 | 23 | debug _a => _7; // in scope 4 at $DIR/combine_transmutes.rs:+4:9: +4:11
|
30 |
| - let _9: u8; // in scope 4 at $DIR/combine_transmutes.rs:+5:9: +5:11 |
| 24 | + let _9: i32; // in scope 4 at $DIR/combine_transmutes.rs:+5:9: +5:11 |
31 | 25 | scope 5 {
|
32 | 26 | debug _a => _9; // in scope 5 at $DIR/combine_transmutes.rs:+5:9: +5:11
|
33 |
| - let _11: i8; // in scope 5 at $DIR/combine_transmutes.rs:+6:9: +6:11 |
| 27 | + let _11: std::mem::ManuallyDrop<std::string::String>; // in scope 5 at $DIR/combine_transmutes.rs:+6:9: +6:11 |
34 | 28 | scope 6 {
|
35 | 29 | debug _a => _11; // in scope 6 at $DIR/combine_transmutes.rs:+6:9: +6:11
|
36 |
| - let _13: u8; // in scope 6 at $DIR/combine_transmutes.rs:+7:9: +7:11 |
37 |
| - scope 7 { |
38 |
| - debug _a => _13; // in scope 7 at $DIR/combine_transmutes.rs:+7:9: +7:11 |
39 |
| - let _15: i16; // in scope 7 at $DIR/combine_transmutes.rs:+8:9: +8:11 |
40 |
| - scope 8 { |
41 |
| - debug _a => _15; // in scope 8 at $DIR/combine_transmutes.rs:+8:9: +8:11 |
42 |
| - let _17: u16; // in scope 8 at $DIR/combine_transmutes.rs:+9:9: +9:11 |
43 |
| - scope 9 { |
44 |
| - debug _a => _17; // in scope 9 at $DIR/combine_transmutes.rs:+9:9: +9:11 |
45 |
| - let _19: u32; // in scope 9 at $DIR/combine_transmutes.rs:+10:9: +10:11 |
46 |
| - scope 10 { |
47 |
| - debug _a => _19; // in scope 10 at $DIR/combine_transmutes.rs:+10:9: +10:11 |
48 |
| - let _21: i32; // in scope 10 at $DIR/combine_transmutes.rs:+11:9: +11:11 |
49 |
| - scope 11 { |
50 |
| - debug _a => _21; // in scope 11 at $DIR/combine_transmutes.rs:+11:9: +11:11 |
51 |
| - let _23: std::mem::ManuallyDrop<std::string::String>; // in scope 11 at $DIR/combine_transmutes.rs:+12:9: +12:11 |
52 |
| - scope 12 { |
53 |
| - debug _a => _23; // in scope 12 at $DIR/combine_transmutes.rs:+12:9: +12:11 |
54 |
| - } |
55 |
| - } |
56 |
| - } |
57 |
| - } |
58 |
| - } |
59 |
| - } |
60 | 30 | }
|
61 | 31 | }
|
62 | 32 | }
|
|
66 | 36 |
|
67 | 37 | bb0: {
|
68 | 38 | StorageLive(_1); // scope 0 at $DIR/combine_transmutes.rs:+1:9: +1:11
|
69 |
| - StorageLive(_2); // scope 0 at $DIR/combine_transmutes.rs:+1:28: +1:41 |
70 |
| - _2 = EnumNoRepr::A; // scope 0 at $DIR/combine_transmutes.rs:+1:28: +1:41 |
71 |
| - _1 = move _2 as u8 (Transmute); // scope 0 at $DIR/combine_transmutes.rs:+1:18: +1:42 |
72 |
| - StorageDead(_2); // scope 0 at $DIR/combine_transmutes.rs:+1:41: +1:42 |
| 39 | + StorageLive(_2); // scope 0 at $DIR/combine_transmutes.rs:+1:28: +1:58 |
| 40 | + _2 = Option::<NonZeroU8>::Some(const _); // scope 0 at $DIR/combine_transmutes.rs:+1:28: +1:58 |
| 41 | + // mir::Constant |
| 42 | + // + span: $DIR/combine_transmutes.rs:35:33: 35:57 |
| 43 | + // + literal: Const { ty: NonZeroU8, val: Unevaluated(NonZeroU8::MAX, [], None) } |
| 44 | + _1 = move _2 as u8 (Transmute); // scope 0 at $DIR/combine_transmutes.rs:+1:18: +1:59 |
| 45 | + StorageDead(_2); // scope 0 at $DIR/combine_transmutes.rs:+1:58: +1:59 |
73 | 46 | StorageLive(_3); // scope 1 at $DIR/combine_transmutes.rs:+2:9: +2:11
|
74 |
| - StorageLive(_4); // scope 1 at $DIR/combine_transmutes.rs:+2:28: +2:41 |
75 |
| - _4 = EnumNoRepr::B; // scope 1 at $DIR/combine_transmutes.rs:+2:28: +2:41 |
76 |
| - _3 = move _4 as i8 (Transmute); // scope 1 at $DIR/combine_transmutes.rs:+2:18: +2:42 |
77 |
| - StorageDead(_4); // scope 1 at $DIR/combine_transmutes.rs:+2:41: +2:42 |
| 47 | + StorageLive(_4); // scope 1 at $DIR/combine_transmutes.rs:+2:29: +2:54 |
| 48 | + _4 = Wrapping::<i16>(const 0_i16); // scope 1 at $DIR/combine_transmutes.rs:+2:29: +2:54 |
| 49 | +- _3 = move _4 as i16 (Transmute); // scope 1 at $DIR/combine_transmutes.rs:+2:19: +2:55 |
| 50 | ++ _3 = move (_4.0: i16); // scope 1 at $DIR/combine_transmutes.rs:+2:19: +2:55 |
| 51 | + StorageDead(_4); // scope 1 at $DIR/combine_transmutes.rs:+2:54: +2:55 |
78 | 52 | StorageLive(_5); // scope 2 at $DIR/combine_transmutes.rs:+3:9: +3:11
|
79 |
| - StorageLive(_6); // scope 2 at $DIR/combine_transmutes.rs:+3:31: +3:47 |
80 |
| - _6 = EnumReprIsize::A; // scope 2 at $DIR/combine_transmutes.rs:+3:31: +3:47 |
81 |
| - _5 = move _6 as usize (Transmute); // scope 2 at $DIR/combine_transmutes.rs:+3:21: +3:48 |
82 |
| - StorageDead(_6); // scope 2 at $DIR/combine_transmutes.rs:+3:47: +3:48 |
| 53 | + StorageLive(_6); // scope 2 at $DIR/combine_transmutes.rs:+3:29: +3:54 |
| 54 | + _6 = Wrapping::<i16>(const 0_i16); // scope 2 at $DIR/combine_transmutes.rs:+3:29: +3:54 |
| 55 | + _5 = move _6 as u16 (Transmute); // scope 2 at $DIR/combine_transmutes.rs:+3:19: +3:55 |
| 56 | + StorageDead(_6); // scope 2 at $DIR/combine_transmutes.rs:+3:54: +3:55 |
83 | 57 | StorageLive(_7); // scope 3 at $DIR/combine_transmutes.rs:+4:9: +4:11
|
84 |
| - StorageLive(_8); // scope 3 at $DIR/combine_transmutes.rs:+4:31: +4:47 |
85 |
| - _8 = EnumReprIsize::B; // scope 3 at $DIR/combine_transmutes.rs:+4:31: +4:47 |
86 |
| -- _7 = move _8 as isize (Transmute); // scope 3 at $DIR/combine_transmutes.rs:+4:21: +4:48 |
87 |
| -+ _7 = discriminant(_8); // scope 3 at $DIR/combine_transmutes.rs:+4:21: +4:48 |
| 58 | + StorageLive(_8); // scope 3 at $DIR/combine_transmutes.rs:+4:29: +4:47 |
| 59 | + _8 = Union32 { u32: const 0_i32 }; // scope 3 at $DIR/combine_transmutes.rs:+4:29: +4:47 |
| 60 | + _7 = move _8 as u32 (Transmute); // scope 3 at $DIR/combine_transmutes.rs:+4:19: +4:48 |
88 | 61 | StorageDead(_8); // scope 3 at $DIR/combine_transmutes.rs:+4:47: +4:48
|
89 | 62 | StorageLive(_9); // scope 4 at $DIR/combine_transmutes.rs:+5:9: +5:11
|
90 |
| - StorageLive(_10); // scope 4 at $DIR/combine_transmutes.rs:+5:28: +5:52 |
91 |
| - _10 = Less; // scope 4 at $DIR/combine_transmutes.rs:+5:28: +5:52 |
92 |
| - _9 = move _10 as u8 (Transmute); // scope 4 at $DIR/combine_transmutes.rs:+5:18: +5:53 |
93 |
| - StorageDead(_10); // scope 4 at $DIR/combine_transmutes.rs:+5:52: +5:53 |
| 63 | + StorageLive(_10); // scope 4 at $DIR/combine_transmutes.rs:+5:29: +5:47 |
| 64 | + _10 = Union32 { u32: const 0_u32 }; // scope 4 at $DIR/combine_transmutes.rs:+5:29: +5:47 |
| 65 | + _9 = move _10 as i32 (Transmute); // scope 4 at $DIR/combine_transmutes.rs:+5:19: +5:48 |
| 66 | + StorageDead(_10); // scope 4 at $DIR/combine_transmutes.rs:+5:47: +5:48 |
94 | 67 | StorageLive(_11); // scope 5 at $DIR/combine_transmutes.rs:+6:9: +6:11
|
95 |
| - StorageLive(_12); // scope 5 at $DIR/combine_transmutes.rs:+6:28: +6:52 |
96 |
| - _12 = Less; // scope 5 at $DIR/combine_transmutes.rs:+6:28: +6:52 |
97 |
| -- _11 = move _12 as i8 (Transmute); // scope 5 at $DIR/combine_transmutes.rs:+6:18: +6:53 |
98 |
| -+ _11 = discriminant(_12); // scope 5 at $DIR/combine_transmutes.rs:+6:18: +6:53 |
99 |
| - StorageDead(_12); // scope 5 at $DIR/combine_transmutes.rs:+6:52: +6:53 |
100 |
| - StorageLive(_13); // scope 6 at $DIR/combine_transmutes.rs:+7:9: +7:11 |
101 |
| - StorageLive(_14); // scope 6 at $DIR/combine_transmutes.rs:+7:28: +7:58 |
102 |
| - _14 = Option::<NonZeroU8>::Some(const _); // scope 6 at $DIR/combine_transmutes.rs:+7:28: +7:58 |
103 |
| - // mir::Constant |
104 |
| - // + span: $DIR/combine_transmutes.rs:41:33: 41:57 |
105 |
| - // + literal: Const { ty: NonZeroU8, val: Unevaluated(NonZeroU8::MAX, [], None) } |
106 |
| - _13 = move _14 as u8 (Transmute); // scope 6 at $DIR/combine_transmutes.rs:+7:18: +7:59 |
107 |
| - StorageDead(_14); // scope 6 at $DIR/combine_transmutes.rs:+7:58: +7:59 |
108 |
| - StorageLive(_15); // scope 7 at $DIR/combine_transmutes.rs:+8:9: +8:11 |
109 |
| - StorageLive(_16); // scope 7 at $DIR/combine_transmutes.rs:+8:29: +8:54 |
110 |
| - _16 = Wrapping::<i16>(const 0_i16); // scope 7 at $DIR/combine_transmutes.rs:+8:29: +8:54 |
111 |
| -- _15 = move _16 as i16 (Transmute); // scope 7 at $DIR/combine_transmutes.rs:+8:19: +8:55 |
112 |
| -+ _15 = move (_16.0: i16); // scope 7 at $DIR/combine_transmutes.rs:+8:19: +8:55 |
113 |
| - StorageDead(_16); // scope 7 at $DIR/combine_transmutes.rs:+8:54: +8:55 |
114 |
| - StorageLive(_17); // scope 8 at $DIR/combine_transmutes.rs:+9:9: +9:11 |
115 |
| - StorageLive(_18); // scope 8 at $DIR/combine_transmutes.rs:+9:29: +9:54 |
116 |
| - _18 = Wrapping::<i16>(const 0_i16); // scope 8 at $DIR/combine_transmutes.rs:+9:29: +9:54 |
117 |
| - _17 = move _18 as u16 (Transmute); // scope 8 at $DIR/combine_transmutes.rs:+9:19: +9:55 |
118 |
| - StorageDead(_18); // scope 8 at $DIR/combine_transmutes.rs:+9:54: +9:55 |
119 |
| - StorageLive(_19); // scope 9 at $DIR/combine_transmutes.rs:+10:9: +10:11 |
120 |
| - StorageLive(_20); // scope 9 at $DIR/combine_transmutes.rs:+10:29: +10:47 |
121 |
| - _20 = Union32 { u32: const 0_i32 }; // scope 9 at $DIR/combine_transmutes.rs:+10:29: +10:47 |
122 |
| - _19 = move _20 as u32 (Transmute); // scope 9 at $DIR/combine_transmutes.rs:+10:19: +10:48 |
123 |
| - StorageDead(_20); // scope 9 at $DIR/combine_transmutes.rs:+10:47: +10:48 |
124 |
| - StorageLive(_21); // scope 10 at $DIR/combine_transmutes.rs:+11:9: +11:11 |
125 |
| - StorageLive(_22); // scope 10 at $DIR/combine_transmutes.rs:+11:29: +11:47 |
126 |
| - _22 = Union32 { u32: const 0_u32 }; // scope 10 at $DIR/combine_transmutes.rs:+11:29: +11:47 |
127 |
| - _21 = move _22 as i32 (Transmute); // scope 10 at $DIR/combine_transmutes.rs:+11:19: +11:48 |
128 |
| - StorageDead(_22); // scope 10 at $DIR/combine_transmutes.rs:+11:47: +11:48 |
129 |
| - StorageLive(_23); // scope 11 at $DIR/combine_transmutes.rs:+12:9: +12:11 |
130 |
| - StorageLive(_24); // scope 11 at $DIR/combine_transmutes.rs:+12:46: +12:77 |
131 |
| - _24 = MaybeUninit::<String>::uninit() -> [return: bb1, unwind unreachable]; // scope 11 at $DIR/combine_transmutes.rs:+12:46: +12:77 |
| 68 | + StorageLive(_12); // scope 5 at $DIR/combine_transmutes.rs:+6:46: +6:77 |
| 69 | + _12 = MaybeUninit::<String>::uninit() -> [return: bb1, unwind unreachable]; // scope 5 at $DIR/combine_transmutes.rs:+6:46: +6:77 |
132 | 70 | // mir::Constant
|
133 |
| - // + span: $DIR/combine_transmutes.rs:46:46: 46:75 |
134 |
| - // + user_ty: UserType(23) |
| 71 | + // + span: $DIR/combine_transmutes.rs:40:46: 40:75 |
| 72 | + // + user_ty: UserType(11) |
135 | 73 | // + literal: Const { ty: fn() -> MaybeUninit<String> {MaybeUninit::<String>::uninit}, val: Value(<ZST>) }
|
136 | 74 | }
|
137 | 75 |
|
138 | 76 | bb1: {
|
139 |
| -- _23 = move _24 as std::mem::ManuallyDrop<std::string::String> (Transmute); // scope 11 at $DIR/combine_transmutes.rs:+12:36: +12:78 |
140 |
| -+ _23 = move (_24.1: std::mem::ManuallyDrop<std::string::String>); // scope 11 at $DIR/combine_transmutes.rs:+12:36: +12:78 |
141 |
| - StorageDead(_24); // scope 11 at $DIR/combine_transmutes.rs:+12:77: +12:78 |
142 |
| - _0 = const (); // scope 0 at $DIR/combine_transmutes.rs:+0:32: +13:2 |
143 |
| - StorageDead(_23); // scope 11 at $DIR/combine_transmutes.rs:+13:1: +13:2 |
144 |
| - StorageDead(_21); // scope 10 at $DIR/combine_transmutes.rs:+13:1: +13:2 |
145 |
| - StorageDead(_19); // scope 9 at $DIR/combine_transmutes.rs:+13:1: +13:2 |
146 |
| - StorageDead(_17); // scope 8 at $DIR/combine_transmutes.rs:+13:1: +13:2 |
147 |
| - StorageDead(_15); // scope 7 at $DIR/combine_transmutes.rs:+13:1: +13:2 |
148 |
| - StorageDead(_13); // scope 6 at $DIR/combine_transmutes.rs:+13:1: +13:2 |
149 |
| - StorageDead(_11); // scope 5 at $DIR/combine_transmutes.rs:+13:1: +13:2 |
150 |
| - StorageDead(_9); // scope 4 at $DIR/combine_transmutes.rs:+13:1: +13:2 |
151 |
| - StorageDead(_7); // scope 3 at $DIR/combine_transmutes.rs:+13:1: +13:2 |
152 |
| - StorageDead(_5); // scope 2 at $DIR/combine_transmutes.rs:+13:1: +13:2 |
153 |
| - StorageDead(_3); // scope 1 at $DIR/combine_transmutes.rs:+13:1: +13:2 |
154 |
| - StorageDead(_1); // scope 0 at $DIR/combine_transmutes.rs:+13:1: +13:2 |
155 |
| - return; // scope 0 at $DIR/combine_transmutes.rs:+13:2: +13:2 |
| 77 | +- _11 = move _12 as std::mem::ManuallyDrop<std::string::String> (Transmute); // scope 5 at $DIR/combine_transmutes.rs:+6:36: +6:78 |
| 78 | ++ _11 = move (_12.1: std::mem::ManuallyDrop<std::string::String>); // scope 5 at $DIR/combine_transmutes.rs:+6:36: +6:78 |
| 79 | + StorageDead(_12); // scope 5 at $DIR/combine_transmutes.rs:+6:77: +6:78 |
| 80 | + _0 = const (); // scope 0 at $DIR/combine_transmutes.rs:+0:32: +7:2 |
| 81 | + StorageDead(_11); // scope 5 at $DIR/combine_transmutes.rs:+7:1: +7:2 |
| 82 | + StorageDead(_9); // scope 4 at $DIR/combine_transmutes.rs:+7:1: +7:2 |
| 83 | + StorageDead(_7); // scope 3 at $DIR/combine_transmutes.rs:+7:1: +7:2 |
| 84 | + StorageDead(_5); // scope 2 at $DIR/combine_transmutes.rs:+7:1: +7:2 |
| 85 | + StorageDead(_3); // scope 1 at $DIR/combine_transmutes.rs:+7:1: +7:2 |
| 86 | + StorageDead(_1); // scope 0 at $DIR/combine_transmutes.rs:+7:1: +7:2 |
| 87 | + return; // scope 0 at $DIR/combine_transmutes.rs:+7:2: +7:2 |
156 | 88 | }
|
157 | 89 | }
|
158 | 90 |
|
0 commit comments