File tree Expand file tree Collapse file tree 1 file changed +44
-0
lines changed
Expand file tree Collapse file tree 1 file changed +44
-0
lines changed Original file line number Diff line number Diff line change 1+ // Copyright 2013 The Rust Project Developers. See the COPYRIGHT
2+ // file at the top-level directory of this distribution and at
3+ // http://rust-lang.org/COPYRIGHT.
4+ //
5+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+ // option. This file may not be copied, modified, or distributed
9+ // except according to those terms.
10+
11+ // xfail-test
12+ use std:: io;
13+
14+ fn main ( ) {
15+ // This is ok
16+ match & [ ( ~5 , ~7 ) ] {
17+ ps => {
18+ let ( ref y, _) = ps[ 0 ] ;
19+ io:: println ( fmt ! ( "1. y = %d" , * * y) ) ;
20+ assert ! ( * * y == 5 ) ;
21+ }
22+ }
23+
24+ // This is not entirely ok
25+ match Some ( & [ ( ~5 , ) ] ) {
26+ Some ( ps) => {
27+ let ( ref y, ) = ps[ 0 ] ;
28+ io:: println ( fmt ! ( "2. y = %d" , * * y) ) ;
29+ if * * y != 5 { io:: println ( "sadness" ) ; }
30+ }
31+ None => ( )
32+ }
33+
34+ // This is not ok
35+ match Some ( & [ ( ~5 , ~7 ) ] ) {
36+ Some ( ps) => {
37+ let ( ref y, ref z) = ps[ 0 ] ;
38+ io:: println ( fmt ! ( "3. y = %d z = %d" , * * y, * * z) ) ;
39+ assert ! ( * * y == 5 ) ;
40+ }
41+ None => ( )
42+ }
43+ }
44+
You can’t perform that action at this time.
0 commit comments