@@ -8,37 +8,19 @@ fn forward_loop(_1: u32, _2: u32, _3: impl Fn(u32)) -> () {
8
8
let mut _4 : std::ops::Range<u32>;
9
9
let mut _5 : std::ops::Range<u32>;
10
10
let mut _6 : &mut std::ops::Range<u32>;
11
- let mut _14 : std::option::Option<u32>;
12
- let mut _16 : &impl Fn(u32);
13
- let mut _17 : (u32,);
14
- let _18 : ();
11
+ let mut _7 : std::option::Option<u32>;
12
+ let mut _8 : isize;
13
+ let mut _10 : &impl Fn(u32);
14
+ let mut _11 : (u32,);
15
+ let _12 : ();
15
16
scope 1 {
16
17
debug iter => _5;
17
- let _15 : u32;
18
+ let _9 : u32;
18
19
scope 2 {
19
- debug x => _15 ;
20
+ debug x => _9 ;
20
21
}
21
22
scope 4 (inlined iter::range::<impl Iterator for std::ops::Range<u32>>::next) {
22
23
debug self => _6;
23
- scope 5 (inlined <std::ops::Range<u32> as iter::range::RangeIteratorImpl>::spec_next) {
24
- debug self => _6;
25
- let mut _7 : &u32;
26
- let mut _8 : &u32;
27
- let mut _11 : bool;
28
- let _12 : u32;
29
- let mut _13 : u32;
30
- scope 6 {
31
- debug old => _12;
32
- scope 7 {
33
- }
34
- }
35
- scope 8 (inlined std::cmp::impls::<impl PartialOrd for u32>::lt) {
36
- debug self => _7;
37
- debug other => _8;
38
- let mut _9 : u32;
39
- let mut _10 : u32;
40
- }
41
- }
42
24
}
43
25
}
44
26
scope 3 (inlined <std::ops::Range<u32> as IntoIterator>::into_iter) {
@@ -53,72 +35,53 @@ fn forward_loop(_1: u32, _2: u32, _3: impl Fn(u32)) -> () {
53
35
}
54
36
55
37
bb1 : {
56
- StorageLive(_14);
57
- _6 = &mut _5;
58
- StorageLive(_12);
59
- StorageLive(_11);
60
38
StorageLive(_7);
61
- _7 = &(_5.0 : u32);
62
- StorageLive(_8);
63
- _8 = &(_5.1 : u32);
64
- StorageLive(_9);
65
- _9 = (_5.0 : u32);
66
- StorageLive(_10);
67
- _10 = (_5.1 : u32);
68
- _11 = Lt(move _9, move _10);
69
- StorageDead(_10);
70
- StorageDead(_9);
71
- switchInt(move _11) -> [0 : bb2, otherwise: bb4];
39
+ StorageLive(_6);
40
+ _6 = &mut _5;
41
+ _7 = <std::ops::Range<u32> as iter::range::RangeIteratorImpl>::spec_next(move _6) -> [return : bb2, unwind: bb8];
72
42
}
73
43
74
44
bb2 : {
75
- StorageDead(_8);
76
- StorageDead(_7);
77
- StorageDead(_11);
78
- StorageDead(_12);
79
- StorageDead(_14);
80
- StorageDead(_5);
81
- drop(_3) -> [return : bb3, unwind continue];
45
+ StorageDead(_6);
46
+ _8 = discriminant(_7);
47
+ switchInt(move _8) -> [0 : bb3, 1: bb5, otherwise: bb7];
82
48
}
83
49
84
50
bb3 : {
85
- return;
51
+ StorageDead(_7);
52
+ StorageDead(_5);
53
+ drop(_3) -> [return : bb4, unwind continue];
86
54
}
87
55
88
56
bb4 : {
89
- StorageDead(_8);
90
- StorageDead(_7);
91
- _12 = (_5.0 : u32);
92
- StorageLive(_13);
93
- _13 = <u32 as Step>::forward_unchecked(_12, const 1_usize) -> [return : bb5, unwind: bb7];
57
+ return;
94
58
}
95
59
96
60
bb5 : {
97
- (_5.0 : u32) = move _13;
98
- StorageDead(_13);
99
- _14 = Option::<u32>::Some(_12);
100
- StorageDead(_11);
101
- StorageDead(_12);
102
- _15 = ((_14 as Some).0 : u32);
103
- StorageLive(_16);
104
- _16 = &_3;
105
- StorageLive(_17);
106
- _17 = (_15,);
107
- _18 = <impl Fn(u32) as Fn<(u32,)>>::call(move _16, move _17) -> [return : bb6, unwind: bb7];
61
+ _9 = ((_7 as Some).0 : u32);
62
+ StorageLive(_10);
63
+ _10 = &_3;
64
+ StorageLive(_11);
65
+ _11 = (_9,);
66
+ _12 = <impl Fn(u32) as Fn<(u32,)>>::call(move _10, move _11) -> [return : bb6, unwind: bb8];
108
67
}
109
68
110
69
bb6 : {
111
- StorageDead(_17 );
112
- StorageDead(_16 );
113
- StorageDead(_14 );
70
+ StorageDead(_11 );
71
+ StorageDead(_10 );
72
+ StorageDead(_7 );
114
73
goto -> bb1;
115
74
}
116
75
117
- bb7 (cleanup) : {
118
- drop(_3) -> [return : bb8, unwind terminate(cleanup)] ;
76
+ bb7 : {
77
+ unreachable ;
119
78
}
120
79
121
80
bb8 (cleanup) : {
81
+ drop(_3) -> [return : bb9, unwind terminate(cleanup)];
82
+ }
83
+
84
+ bb9 (cleanup) : {
122
85
resume;
123
86
}
124
87
}
0 commit comments