Skip to content

Commit 1710125

Browse files
committed
Added testcases for match keyword
Added testcases for `match` keyword including test for issue #5625.
1 parent 1fa0a8c commit 1710125

File tree

3 files changed

+81
-0
lines changed

3 files changed

+81
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
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+
13+
// regression test for issue #5625
14+
15+
enum E {
16+
Foo{f : int},
17+
Bar
18+
}
19+
20+
pub fn main() {
21+
let e = Bar;
22+
match e {
23+
Foo{f: _f} => fail!(),
24+
_ => (),
25+
}
26+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
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+
enum E {
12+
Foo{f : int},
13+
Bar
14+
}
15+
16+
pub fn main() {
17+
let e = Foo{f: 1};
18+
match e {
19+
Foo{_} => (),
20+
_ => fail!(),
21+
}
22+
match e {
23+
Foo{f: _f} => (),
24+
_ => fail!(),
25+
}
26+
}

src/test/run-pass/match-struct-0.rs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
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+
struct Foo{
12+
f : int,
13+
}
14+
15+
pub fn main() {
16+
let f = Foo{f: 1};
17+
match f {
18+
Foo{f: 0} => fail!(),
19+
Foo{_} => (),
20+
}
21+
match f {
22+
Foo{f: 0} => fail!(),
23+
Foo{f: _f} => (),
24+
}
25+
match f {
26+
Foo{f: 0} => fail!(),
27+
_ => (),
28+
}
29+
}

0 commit comments

Comments
 (0)