diff options
| author | Nadrieril <nadrieril+git@gmail.com> | 2024-01-10 22:08:53 +0100 |
|---|---|---|
| committer | Nadrieril <nadrieril+git@gmail.com> | 2024-01-10 23:25:27 +0100 |
| commit | 5ccd29d6f0c8e8f678bb05adfd8482de0ecde0c2 (patch) | |
| tree | b0bac168ce306b8d53251d75c71a6917a29deaf1 | |
| parent | 68a13bf7fd0e456969ea591fc216bf44eea9890d (diff) | |
| download | rust-5ccd29d6f0c8e8f678bb05adfd8482de0ecde0c2.tar.gz rust-5ccd29d6f0c8e8f678bb05adfd8482de0ecde0c2.zip | |
Add more tests
| -rw-r--r-- | tests/ui/rfcs/rfc-0000-never_patterns/bindings.rs | 21 | ||||
| -rw-r--r-- | tests/ui/rfcs/rfc-0000-never_patterns/bindings.stderr | 26 |
2 files changed, 46 insertions, 1 deletions
diff --git a/tests/ui/rfcs/rfc-0000-never_patterns/bindings.rs b/tests/ui/rfcs/rfc-0000-never_patterns/bindings.rs index 756ead9e184..f2e238ecb13 100644 --- a/tests/ui/rfcs/rfc-0000-never_patterns/bindings.rs +++ b/tests/ui/rfcs/rfc-0000-never_patterns/bindings.rs @@ -23,3 +23,24 @@ fn main() { //~| ERROR: never patterns cannot contain variable bindings } } + +fn void(void: Void) { + let (_a | !) = void; + let (! | _a) = void; + let ((_a, _) | (_a, _ | !)) = (true, void); + let (_a | (! | !,)) = (void,); + let ((_a,) | (!,)) = (void,); + + let (_a, (! | !)) = (true, void); + //~^ ERROR: never patterns cannot contain variable bindings + let (_a, (_b | !)) = (true, void); + + let _a @ ! = void; + //~^ ERROR: never patterns cannot contain variable bindings + let _a @ (_b | !) = void; + let (_a @ (), !) = ((), void); + //~^ ERROR: never patterns cannot contain variable bindings + let (_a | + (_b @ (_, !))) = (true, void); + //~^ ERROR: never patterns cannot contain variable bindings +} diff --git a/tests/ui/rfcs/rfc-0000-never_patterns/bindings.stderr b/tests/ui/rfcs/rfc-0000-never_patterns/bindings.stderr index 4e83b843ae8..b69ba80af88 100644 --- a/tests/ui/rfcs/rfc-0000-never_patterns/bindings.stderr +++ b/tests/ui/rfcs/rfc-0000-never_patterns/bindings.stderr @@ -22,5 +22,29 @@ error: never patterns cannot contain variable bindings LL | Ok(_ok) | Err(&(_a, _b, !)) => {} | ^^ help: use a wildcard `_` instead -error: aborting due to 4 previous errors +error: never patterns cannot contain variable bindings + --> $DIR/bindings.rs:34:10 + | +LL | let (_a, (! | !)) = (true, void); + | ^^ help: use a wildcard `_` instead + +error: never patterns cannot contain variable bindings + --> $DIR/bindings.rs:38:9 + | +LL | let _a @ ! = void; + | ^^ help: use a wildcard `_` instead + +error: never patterns cannot contain variable bindings + --> $DIR/bindings.rs:41:10 + | +LL | let (_a @ (), !) = ((), void); + | ^^ help: use a wildcard `_` instead + +error: never patterns cannot contain variable bindings + --> $DIR/bindings.rs:44:14 + | +LL | (_b @ (_, !))) = (true, void); + | ^^ help: use a wildcard `_` instead + +error: aborting due to 8 previous errors |
