@@ -33,15 +33,15 @@ fn main() {
3333 // Drops are right-to-left: `z`, `y`, `x`.
3434 let ( x, Ok ( y) | Err ( y) , z) ;
3535 // Assignment order doesn't matter.
36- z = LogDrop ( o, 1 ) ;
37- y = LogDrop ( o, 2 ) ;
38- x = LogDrop ( o, 3 ) ;
36+ z = LogDrop ( o, 1 ) ; //~ WARN value assigned to `z` is never read
37+ y = LogDrop ( o, 2 ) ; //~ WARN value assigned to `y` is never read
38+ x = LogDrop ( o, 3 ) ; //~ WARN value assigned to `x` is never read
3939 } ) ;
4040 assert_drop_order ( 1 ..=2 , |o| {
4141 // The first or-pattern alternative determines the bindings' drop order: `y`, `x`.
4242 let ( ( true , x, y) | ( false , y, x) ) ;
43- x = LogDrop ( o, 2 ) ;
44- y = LogDrop ( o, 1 ) ;
43+ x = LogDrop ( o, 2 ) ; //~ WARN value assigned to `x` is never read
44+ y = LogDrop ( o, 1 ) ; //~ WARN value assigned to `y` is never read
4545 } ) ;
4646
4747 // `let pat = expr;` should have the same drop order.
@@ -61,15 +61,21 @@ fn main() {
6161 // `match` should have the same drop order.
6262 assert_drop_order ( 1 ..=3 , |o| {
6363 // Drops are right-to-left: `z`, `y` `x`.
64- match ( LogDrop ( o, 3 ) , Ok ( LogDrop ( o, 2 ) ) , LogDrop ( o, 1 ) ) { ( x, Ok ( y) | Err ( y) , z) => { } }
64+ match ( LogDrop ( o, 3 ) , Ok ( LogDrop ( o, 2 ) ) , LogDrop ( o, 1 ) ) {
65+ ( x, Ok ( y) | Err ( y) , z) => { }
66+ }
6567 } ) ;
6668 assert_drop_order ( 1 ..=2 , |o| {
6769 // The first or-pattern alternative determines the bindings' drop order: `y`, `x`.
68- match ( true , LogDrop ( o, 2 ) , LogDrop ( o, 1 ) ) { ( true , x, y) | ( false , y, x) => { } }
70+ match ( true , LogDrop ( o, 2 ) , LogDrop ( o, 1 ) ) {
71+ ( true , x, y) | ( false , y, x) => { }
72+ }
6973 } ) ;
7074 assert_drop_order ( 1 ..=2 , |o| {
7175 // That drop order is used regardless of which or-pattern alternative matches: `y`, `x`.
72- match ( false , LogDrop ( o, 1 ) , LogDrop ( o, 2 ) ) { ( true , x, y) | ( false , y, x) => { } }
76+ match ( false , LogDrop ( o, 1 ) , LogDrop ( o, 2 ) ) {
77+ ( true , x, y) | ( false , y, x) => { }
78+ }
7379 } ) ;
7480
7581 // Function params are visited one-by-one, and the order of bindings within a param's pattern is
0 commit comments