@@ -4,22 +4,22 @@ fn enumerated_loop(_1: &[T], _2: impl Fn(usize, &T)) -> () {
4
4
debug slice => _1;
5
5
debug f => _2;
6
6
let mut _0 : ();
7
- let mut _13 : std::slice::Iter<'_, T>;
7
+ let mut _12 : std::slice::Iter<'_, T>;
8
+ let mut _13 : std::iter::Enumerate<std::slice::Iter<'_, T>>;
8
9
let mut _14 : std::iter::Enumerate<std::slice::Iter<'_, T>>;
9
- let mut _15 : std::iter::Enumerate<std::slice::Iter<'_, T>>;
10
- let mut _16 : &mut std::iter::Enumerate<std::slice::Iter<'_, T>>;
11
- let mut _17 : std::option::Option<(usize, &T)>;
12
- let mut _18 : isize;
13
- let mut _21 : &impl Fn(usize, &T);
14
- let mut _22 : (usize, &T);
15
- let _23 : ();
10
+ let mut _15 : &mut std::iter::Enumerate<std::slice::Iter<'_, T>>;
11
+ let mut _16 : std::option::Option<(usize, &T)>;
12
+ let mut _17 : isize;
13
+ let mut _20 : &impl Fn(usize, &T);
14
+ let mut _21 : (usize, &T);
15
+ let _22 : ();
16
16
scope 1 {
17
- debug iter => _15 ;
18
- let _19 : usize;
19
- let _20 : &T;
17
+ debug iter => _14 ;
18
+ let _18 : usize;
19
+ let _19 : &T;
20
20
scope 2 {
21
- debug i => _19 ;
22
- debug x => _20 ;
21
+ debug i => _18 ;
22
+ debug x => _19 ;
23
23
}
24
24
}
25
25
scope 3 (inlined core::slice::<impl [T]>::iter) {
@@ -28,19 +28,18 @@ fn enumerated_loop(_1: &[T], _2: impl Fn(usize, &T)) -> () {
28
28
debug slice => _1;
29
29
let _3 : usize;
30
30
let mut _5 : std::ptr::NonNull<[T]>;
31
- let mut _8 : bool ;
31
+ let mut _8 : *mut T ;
32
32
let mut _9 : *mut T;
33
- let mut _10 : *mut T;
34
- let mut _12 : *const T;
33
+ let mut _11 : *const T;
35
34
scope 5 {
36
35
debug len => _3;
37
36
let _7 : std::ptr::NonNull<T>;
38
37
scope 6 {
39
38
debug ptr => _7;
40
39
scope 7 {
41
- let _11 : *const T;
40
+ let _10 : *const T;
42
41
scope 8 {
43
- debug end_or_len => _11 ;
42
+ debug end_or_len => _10 ;
44
43
}
45
44
scope 14 (inlined without_provenance::<T>) {
46
45
debug addr => _3;
@@ -51,7 +50,7 @@ fn enumerated_loop(_1: &[T], _2: impl Fn(usize, &T)) -> () {
51
50
debug self => _7;
52
51
}
53
52
scope 17 (inlined std::ptr::mut_ptr::<impl *mut T>::add) {
54
- debug self => _9 ;
53
+ debug self => _8 ;
55
54
debug count => _3;
56
55
scope 18 {
57
56
}
@@ -77,17 +76,17 @@ fn enumerated_loop(_1: &[T], _2: impl Fn(usize, &T)) -> () {
77
76
}
78
77
}
79
78
scope 19 (inlined <std::slice::Iter<'_, T> as Iterator>::enumerate) {
80
- debug self => _13 ;
79
+ debug self => _12 ;
81
80
scope 20 (inlined Enumerate::<std::slice::Iter<'_, T>>::new) {
82
- debug iter => _13 ;
81
+ debug iter => _12 ;
83
82
}
84
83
}
85
84
scope 21 (inlined <Enumerate<std::slice::Iter<'_, T>> as IntoIterator>::into_iter) {
86
- debug self => _14 ;
85
+ debug self => _13 ;
87
86
}
88
87
89
88
bb0 : {
90
- StorageLive(_13 );
89
+ StorageLive(_12 );
91
90
StorageLive(_3);
92
91
StorageLive(_7);
93
92
StorageLive(_4);
@@ -99,62 +98,59 @@ fn enumerated_loop(_1: &[T], _2: impl Fn(usize, &T)) -> () {
99
98
_6 = _4 as *const T (PtrToPtr);
100
99
_7 = NonNull::<T> { pointer : _6 };
101
100
StorageDead(_5);
102
- StorageLive(_11);
103
- StorageLive(_8);
104
- _8 = const <T as std::mem::SizedTypeProperties>::IS_ZST;
105
- switchInt(move _8) -> [0 : bb1, otherwise: bb2];
101
+ StorageLive(_10);
102
+ switchInt(const <T as std::mem::SizedTypeProperties>::IS_ZST) -> [0 : bb1, otherwise: bb2];
106
103
}
107
104
108
105
bb1 : {
109
- StorageLive(_10);
110
106
StorageLive(_9);
111
- _9 = _4 as *mut T (PtrToPtr);
112
- _10 = Offset(_9, _3);
107
+ StorageLive(_8);
108
+ _8 = _4 as *mut T (PtrToPtr);
109
+ _9 = Offset(_8, _3);
110
+ StorageDead(_8);
111
+ _10 = move _9 as *const T (PointerCoercion(MutToConstPointer));
113
112
StorageDead(_9);
114
- _11 = move _10 as *const T (PointerCoercion(MutToConstPointer));
115
- StorageDead(_10);
116
113
goto -> bb3;
117
114
}
118
115
119
116
bb2 : {
120
- _11 = _3 as *const T (Transmute);
117
+ _10 = _3 as *const T (Transmute);
121
118
goto -> bb3;
122
119
}
123
120
124
121
bb3 : {
125
- StorageDead(_8);
126
- StorageLive(_12);
127
- _12 = _11;
128
- _13 = std::slice::Iter::<'_, T> { ptr : _7, end_or_len: move _12, _marker: const ZeroSized: PhantomData<&T> };
129
- StorageDead(_12);
122
+ StorageLive(_11);
123
+ _11 = _10;
124
+ _12 = std::slice::Iter::<'_, T> { ptr : _7, end_or_len: move _11, _marker: const ZeroSized: PhantomData<&T> };
130
125
StorageDead(_11);
126
+ StorageDead(_10);
131
127
StorageDead(_6);
132
128
StorageDead(_4);
133
129
StorageDead(_7);
134
130
StorageDead(_3);
135
- _14 = Enumerate::<std::slice::Iter<'_, T>> { iter : _13 , count: const 0_usize };
136
- StorageDead(_13 );
137
- StorageLive(_15 );
138
- _15 = _14 ;
131
+ _13 = Enumerate::<std::slice::Iter<'_, T>> { iter : _12 , count: const 0_usize };
132
+ StorageDead(_12 );
133
+ StorageLive(_14 );
134
+ _14 = _13 ;
139
135
goto -> bb4;
140
136
}
141
137
142
138
bb4 : {
143
- StorageLive(_17);
144
139
StorageLive(_16);
145
- _16 = &mut _15;
146
- _17 = <Enumerate<std::slice::Iter<'_, T>> as Iterator>::next(move _16) -> [return : bb5, unwind unreachable];
140
+ StorageLive(_15);
141
+ _15 = &mut _14;
142
+ _16 = <Enumerate<std::slice::Iter<'_, T>> as Iterator>::next(move _15) -> [return : bb5, unwind unreachable];
147
143
}
148
144
149
145
bb5 : {
150
- StorageDead(_16 );
151
- _18 = discriminant(_17 );
152
- switchInt(move _18 ) -> [0 : bb6, 1: bb8, otherwise: bb10];
146
+ StorageDead(_15 );
147
+ _17 = discriminant(_16 );
148
+ switchInt(move _17 ) -> [0 : bb6, 1: bb8, otherwise: bb10];
153
149
}
154
150
155
151
bb6 : {
156
- StorageDead(_17 );
157
- StorageDead(_15 );
152
+ StorageDead(_16 );
153
+ StorageDead(_14 );
158
154
drop(_2) -> [return : bb7, unwind unreachable];
159
155
}
160
156
@@ -163,19 +159,19 @@ fn enumerated_loop(_1: &[T], _2: impl Fn(usize, &T)) -> () {
163
159
}
164
160
165
161
bb8 : {
166
- _19 = (((_17 as Some).0 : (usize, &T)).0: usize);
167
- _20 = (((_17 as Some).0 : (usize, &T)).1: &T);
162
+ _18 = (((_16 as Some).0 : (usize, &T)).0: usize);
163
+ _19 = (((_16 as Some).0 : (usize, &T)).1: &T);
164
+ StorageLive(_20);
165
+ _20 = &_2;
168
166
StorageLive(_21);
169
- _21 = &_2;
170
- StorageLive(_22);
171
- _22 = (_19, _20);
172
- _23 = <impl Fn(usize, &T) as Fn<(usize, &T)>>::call(move _21, move _22) -> [return : bb9, unwind unreachable];
167
+ _21 = (_18, _19);
168
+ _22 = <impl Fn(usize, &T) as Fn<(usize, &T)>>::call(move _20, move _21) -> [return : bb9, unwind unreachable];
173
169
}
174
170
175
171
bb9 : {
176
- StorageDead(_22);
177
172
StorageDead(_21);
178
- StorageDead(_17);
173
+ StorageDead(_20);
174
+ StorageDead(_16);
179
175
goto -> bb4;
180
176
}
181
177
0 commit comments