diff options
| author | Matthew Kuo <matthew.kuo@dialexa.com> | 2020-03-04 01:33:32 -0600 | 
|---|---|---|
| committer | Matthew Kuo <matthew.kuo@dialexa.com> | 2020-03-04 01:33:32 -0600 | 
| commit | b4788a739b5dd040a969135bf46dc633c39fce16 (patch) | |
| tree | ce038f8904e9eb7c3ea887ad981df01e28e4f03b /src/test/ui/or-patterns/slice-patterns.rs | |
| parent | 54561148581f002793ab42893de4e3f7c26bd7ed (diff) | |
| download | rust-b4788a739b5dd040a969135bf46dc633c39fce16.tar.gz rust-b4788a739b5dd040a969135bf46dc633c39fce16.zip | |
test(pattern): harden tests for or-patterns with slice-patterns
Some of the nested OR paths were being missed
Diffstat (limited to 'src/test/ui/or-patterns/slice-patterns.rs')
| -rw-r--r-- | src/test/ui/or-patterns/slice-patterns.rs | 14 | 
1 files changed, 12 insertions, 2 deletions
| diff --git a/src/test/ui/or-patterns/slice-patterns.rs b/src/test/ui/or-patterns/slice-patterns.rs index 2f2e865d985..2526f048655 100644 --- a/src/test/ui/or-patterns/slice-patterns.rs +++ b/src/test/ui/or-patterns/slice-patterns.rs @@ -20,8 +20,8 @@ enum Test { fn test(foo: &[Option<Test>]) -> MatchArm { match foo { - [.., Some(Test::Foo | Test::Qux)] => MatchArm::Arm(0), - [Some(Test::Foo), .., Some(Test::Bar | Test::Baz)] => MatchArm::Arm(1), + [.., Some(Test::Qux | Test::Foo)] => MatchArm::Arm(0), + [Some(Test::Foo), .., Some(Test::Baz | Test::Bar)] => MatchArm::Arm(1), [.., Some(Test::Bar | Test::Baz), _] => MatchArm::Arm(2), _ => MatchArm::Wild, } @@ -35,8 +35,18 @@ fn main() { Some(Test::Qux), ]; + // path 1a assert_eq!(test(&foo), MatchArm::Arm(0)); + // path 1b + assert_eq!(test(&[Some(Test::Bar), Some(Test::Foo)]), MatchArm::Arm(0)); + // path 2a assert_eq!(test(&foo[..3]), MatchArm::Arm(1)); + // path 2b + assert_eq!(test(&[Some(Test::Foo), Some(Test::Foo), Some(Test::Bar)]), MatchArm::Arm(1)); + // path 3a assert_eq!(test(&foo[1..3]), MatchArm::Arm(2)); + // path 3b + assert_eq!(test(&[Some(Test::Bar), Some(Test::Baz), Some(Test::Baz), Some(Test::Bar)]), MatchArm::Arm(2)); + // path 4 assert_eq!(test(&foo[4..]), MatchArm::Wild); } | 
