@@ -8,19 +8,32 @@ fn forward_loop(_1: u32, _2: u32, _3: impl Fn(u32)) -> () {
88 let mut _4: std:: ops:: Range < u32 > ; // in scope 0 at $DIR/range_iter.rs:+1:14: +1:24
99 let mut _5: std:: ops:: Range < u32 > ; // in scope 0 at $DIR/range_iter.rs:+1:14: +1:24
1010 let mut _6: & mut std:: ops:: Range < u32 > ; // in scope 0 at $DIR/range_iter.rs:+1:14: +1:24
11- let mut _7 : std::option::Option<u32>; // in scope 0 at $DIR/range_iter.rs:+1:14: +1:24
12- let mut _8 : isize; // in scope 0 at $DIR/range_iter.rs:+1:5: +3:6
13- let mut _10 : &impl Fn(u32); // in scope 0 at $DIR/range_iter.rs:+2:9: +2:10
14- let mut _11 : (u32,); // in scope 0 at $DIR/range_iter.rs:+2:9: +2:13
15- let _12 : (); // in scope 0 at $DIR/range_iter.rs:+1:14: +1:24
11+ let mut _10 : std:: option:: Option < u32 > ; // in scope 0 at $DIR/range_iter.rs:+1:14: +1:24
12+ let mut _13 : isize ; // in scope 0 at $DIR/range_iter.rs:+1:5: +3:6
13+ let mut _15 : & impl Fn ( u32 ) ; // in scope 0 at $DIR/range_iter.rs:+2:9: +2:10
14+ let mut _16 : ( u32 , ) ; // in scope 0 at $DIR/range_iter.rs:+2:9: +2:13
15+ let _17 : ( ) ; // in scope 0 at $DIR/range_iter.rs:+1:14: +1:24
1616 scope 1 {
1717 debug iter => _5; // in scope 1 at $DIR/range_iter.rs:+1:14: +1:24
18- let _9 : u32; // in scope 1 at $DIR/range_iter.rs:+1:9: +1:10
18+ let _14 : u32 ; // in scope 1 at $DIR/range_iter.rs:+1:9: +1:10
1919 scope 2 {
20- debug x => _9; // in scope 2 at $DIR/range_iter.rs:+1:9 : +1:10
20+ debug x => _14 ; // in scope 2 at $DIR/range_iter.rs:+1:9: +1:10
2121 }
2222 scope 4 ( inlined iter:: range:: < impl Iterator for std:: ops:: Range < u32 > > :: next) { // at $DIR/range_iter.rs:21:14: 21:24
2323 debug self => _6; // in scope 4 at $SRC_DIR/core/src/iter/range.rs:LL:COL
24+ scope 5 ( inlined <std:: ops:: Range <u32> as iter:: range:: RangeIteratorImpl >:: spec_next) { // at $SRC_DIR/core/src/iter/range.rs:LL:COL
25+ debug self => _6; // in scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
26+ let mut _7: & u32 ; // in scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
27+ let mut _8: & u32 ; // in scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
28+ let mut _9: bool ; // in scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
29+ let _11: u32 ; // in scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
30+ let mut _12: u32 ; // in scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
31+ scope 6 {
32+ debug old => _11; // in scope 6 at $SRC_DIR/core/src/iter/range.rs:LL:COL
33+ scope 7 {
34+ }
35+ }
36+ }
2437 }
2538 }
2639 scope 3 ( inlined <std:: ops:: Range <u32> as IntoIterator >:: into_iter) { // at $DIR/range_iter.rs:21:14: 21:24
@@ -35,57 +48,92 @@ fn forward_loop(_1: u32, _2: u32, _3: impl Fn(u32)) -> () {
3548 }
3649
3750 bb1 : {
38- StorageLive(_7); // scope 1 at $DIR/range_iter.rs:+1:14 : +1:24
51+ StorageLive ( _10 ) ; // scope 1 at $DIR/range_iter.rs:+1:14: +1:24
3952 _6 = & mut _5; // scope 1 at $DIR/range_iter.rs:+1:14: +1:24
40- _7 = <std::ops::Range<u32> as iter::range::RangeIteratorImpl>::spec_next(_6) -> [return : bb2, unwind: bb8]; // scope 4 at $SRC_DIR/core/src/iter/range.rs:LL:COL
53+ StorageLive ( _11) ; // scope 4 at $SRC_DIR/core/src/iter/range.rs:LL:COL
54+ StorageLive ( _9) ; // scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
55+ StorageLive ( _7) ; // scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
56+ _7 = & ( ( * _6) . 0 : u32 ) ; // scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
57+ StorageLive ( _8) ; // scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
58+ _8 = & ( ( * _6) . 1 : u32 ) ; // scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
59+ _9 = <u32 as PartialOrd >:: lt ( move _7, move _8) -> [ return : bb2, unwind: bb12] ; // scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
4160 // mir::Constant
4261 // + span: $SRC_DIR/core/src/iter/range.rs:LL:COL
43- // + literal : Const { ty: for<'a> fn(&'a mut std::ops::Range< u32> ) -> Option<<std::ops::Range<u32> as iter::range::RangeIteratorImpl>::Item> {<std::ops::Range< u32> as iter::range::RangeIteratorImpl >::spec_next }, val: Value(<ZST>) }
62+ // + literal: Const { ty: for<'a, 'b > fn(&'a u32, &'b u32) -> bool {< u32 as PartialOrd >::lt }, val: Value(<ZST>) }
4463 }
4564
4665 bb2 : {
47- _8 = discriminant(_7); // scope 1 at $DIR/range_iter.rs:+1:14 : +1:24
48- switchInt(move _8) -> [0 : bb3, 1: bb5, otherwise: bb7]; // scope 1 at $DIR/range_iter.rs:+1:14: +1:24
66+ StorageDead ( _8) ; // scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
67+ StorageDead ( _7) ; // scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
68+ switchInt ( move _9) -> [ 0 : bb3, otherwise: bb4] ; // scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
4969 }
5070
5171 bb3: {
52- StorageDead(_7); // scope 1 at $DIR/range_iter.rs:+3:5 : +3:6
53- StorageDead(_5); // scope 0 at $DIR/range_iter.rs:+3:5 : +3:6
54- drop(_3) -> bb4; // scope 0 at $DIR/range_iter.rs:+4:1 : +4:2
72+ _10 = Option :: < u32 > :: None ; // scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
73+ goto -> bb6; // scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
5574 }
5675
5776 bb4: {
58- return; // scope 0 at $DIR/range_iter.rs:+4:2 : +4:2
77+ _11 = ( ( * _6) . 0 : u32 ) ; // scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
78+ StorageLive ( _12) ; // scope 6 at $SRC_DIR/core/src/iter/range.rs:LL:COL
79+ _12 = <u32 as Step >:: forward_unchecked ( _11, const 1_usize ) -> [ return : bb5, unwind: bb12] ; // scope 7 at $SRC_DIR/core/src/iter/range.rs:LL:COL
80+ // mir::Constant
81+ // + span: $SRC_DIR/core/src/iter/range.rs:LL:COL
82+ // + literal: Const { ty: unsafe fn(u32, usize) -> u32 {<u32 as Step>::forward_unchecked}, val: Value(<ZST>) }
5983 }
6084
6185 bb5 : {
62- _9 = ((_7 as Some).0 : u32); // scope 1 at $DIR/range_iter.rs:+1:9: +1:10
63- StorageLive(_10); // scope 2 at $DIR/range_iter.rs:+2:9 : +2:10
64- _10 = &_3; // scope 2 at $DIR/range_iter.rs:+2:9 : +2:10
65- StorageLive(_11); // scope 2 at $DIR/range_iter.rs:+2:9 : +2:13
66- _11 = (_9,); // scope 2 at $DIR/range_iter.rs:+2:9 : +2:13
67- _12 = <impl Fn(u32) as Fn<(u32,)>>::call(move _10, move _11) -> [return : bb6, unwind: bb8]; // scope 2 at $DIR/range_iter.rs:+2:9: +2:13
86+ ( ( * _6) . 0 : u32 ) = move _12; // scope 6 at $SRC_DIR/core/src/iter/range.rs:LL:COL
87+ StorageDead ( _12) ; // scope 6 at $SRC_DIR/core/src/iter/range.rs:LL:COL
88+ _10 = Option :: < u32 > :: Some ( _11) ; // scope 6 at $SRC_DIR/core/src/iter/range.rs:LL:COL
89+ goto -> bb6; // scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
90+ }
91+
92+ bb6 : {
93+ StorageDead ( _9) ; // scope 5 at $SRC_DIR/core/src/iter/range.rs:LL:COL
94+ StorageDead ( _11) ; // scope 4 at $SRC_DIR/core/src/iter/range.rs:LL:COL
95+ _13 = discriminant ( _10) ; // scope 1 at $DIR/range_iter.rs:+1:14: +1:24
96+ switchInt ( move _13) -> [ 0 : bb7, 1 : bb9, otherwise: bb11] ; // scope 1 at $DIR/range_iter.rs:+1:14: +1:24
97+ }
98+
99+ bb7 : {
100+ StorageDead ( _10) ; // scope 1 at $DIR/range_iter.rs:+3:5: +3:6
101+ StorageDead ( _5) ; // scope 0 at $DIR/range_iter.rs:+3:5: +3:6
102+ drop ( _3) -> bb8; // scope 0 at $DIR/range_iter.rs:+4:1: +4:2
103+ }
104+
105+ bb8 : {
106+ return; // scope 0 at $DIR/range_iter.rs:+4:2: +4:2
107+ }
108+
109+ bb9: {
110+ _14 = ( ( _10 as Some ) . 0 : u32 ) ; // scope 1 at $DIR/range_iter.rs:+1:9: +1:10
111+ StorageLive ( _15) ; // scope 2 at $DIR/range_iter.rs:+2:9: +2:10
112+ _15 = & _3; // scope 2 at $DIR/range_iter.rs:+2:9: +2:10
113+ StorageLive ( _16) ; // scope 2 at $DIR/range_iter.rs:+2:9: +2:13
114+ _16 = ( _14, ) ; // scope 2 at $DIR/range_iter.rs:+2:9: +2:13
115+ _17 = <impl Fn ( u32 ) as Fn < ( u32 , ) > >:: call ( move _15, move _16) -> [ return : bb10, unwind: bb12] ; // scope 2 at $DIR/range_iter.rs:+2:9: +2:13
68116 // mir::Constant
69117 // + span: $DIR/range_iter.rs:22:9: 22:10
70118 // + literal: Const { ty: for<'a> extern "rust-call" fn(&'a impl Fn(u32), (u32,)) -> <impl Fn(u32) as FnOnce<(u32,)>>::Output {<impl Fn(u32) as Fn<(u32,)>>::call}, val: Value(<ZST>) }
71119 }
72120
73- bb6 : {
74- StorageDead(_11 ); // scope 2 at $DIR/range_iter.rs:+2:12 : +2:13
75- StorageDead(_10 ); // scope 2 at $DIR/range_iter.rs:+2:12 : +2:13
76- StorageDead(_7); // scope 1 at $DIR/range_iter.rs:+3:5 : +3:6
121+ bb10 : {
122+ StorageDead ( _16 ) ; // scope 2 at $DIR/range_iter.rs:+2:12: +2:13
123+ StorageDead ( _15 ) ; // scope 2 at $DIR/range_iter.rs:+2:12: +2:13
124+ StorageDead ( _10 ) ; // scope 1 at $DIR/range_iter.rs:+3:5: +3:6
77125 goto -> bb1; // scope 1 at $DIR/range_iter.rs:+1:5: +3:6
78126 }
79127
80- bb7 : {
128+ bb11 : {
81129 unreachable; // scope 1 at $DIR/range_iter.rs:+1:14: +1:24
82130 }
83131
84- bb8 (cleanup) : {
85- drop(_3) -> [return : bb9 , unwind terminate]; // scope 0 at $DIR/range_iter.rs:+4:1: +4:2
132+ bb12 ( cleanup) : {
133+ drop ( _3) -> [ return : bb13 , unwind terminate] ; // scope 0 at $DIR/range_iter.rs:+4:1: +4:2
86134 }
87135
88- bb9 (cleanup) : {
136+ bb13 ( cleanup) : {
89137 resume; // scope 0 at $DIR/range_iter.rs:+0:1: +4:2
90138 }
91139}
0 commit comments