@@ -8,37 +8,19 @@ fn forward_loop(_1: u32, _2: u32, _3: impl Fn(u32)) -> () {
88 let mut _4 : std::ops::Range<u32>;
99 let mut _5 : std::ops::Range<u32>;
1010 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 : ();
1516 scope 1 {
1617 debug iter => _5;
17- let _15 : u32;
18+ let _9 : u32;
1819 scope 2 {
19- debug x => _15 ;
20+ debug x => _9 ;
2021 }
2122 scope 4 (inlined iter::range::<impl Iterator for std::ops::Range<u32>>::next) {
2223 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- }
4224 }
4325 }
4426 scope 3 (inlined <std::ops::Range<u32> as IntoIterator>::into_iter) {
@@ -53,64 +35,45 @@ fn forward_loop(_1: u32, _2: u32, _3: impl Fn(u32)) -> () {
5335 }
5436
5537 bb1 : {
56- StorageLive(_14);
57- _6 = &mut _5;
58- StorageLive(_12);
59- StorageLive(_11);
6038 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 unreachable];
7242 }
7343
7444 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 unreachable];
45+ StorageDead(_6);
46+ _8 = discriminant(_7);
47+ switchInt(move _8) -> [0 : bb3, 1: bb5, otherwise: bb7];
8248 }
8349
8450 bb3 : {
85- return;
51+ StorageDead(_7);
52+ StorageDead(_5);
53+ drop(_3) -> [return : bb4, unwind unreachable];
8654 }
8755
8856 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 unreachable];
57+ return;
9458 }
9559
9660 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 unreachable];
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 unreachable];
10867 }
10968
11069 bb6 : {
111- StorageDead(_17 );
112- StorageDead(_16 );
113- StorageDead(_14 );
70+ StorageDead(_11 );
71+ StorageDead(_10 );
72+ StorageDead(_7 );
11473 goto -> bb1;
11574 }
75+
76+ bb7 : {
77+ unreachable;
78+ }
11679}
0 commit comments