From 64d98f8ee037282c35007b64c2649055c56af1db Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:19:03 +0200 Subject: Merging upstream version 1.68.2+dfsg1. Signed-off-by: Daniel Baumann --- tests/ui/resolve/resolve-inconsistent-names.rs | 36 ++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 tests/ui/resolve/resolve-inconsistent-names.rs (limited to 'tests/ui/resolve/resolve-inconsistent-names.rs') diff --git a/tests/ui/resolve/resolve-inconsistent-names.rs b/tests/ui/resolve/resolve-inconsistent-names.rs new file mode 100644 index 000000000..9a40b2034 --- /dev/null +++ b/tests/ui/resolve/resolve-inconsistent-names.rs @@ -0,0 +1,36 @@ +#![allow(non_camel_case_types)] + +enum E { A, B, c } + +pub mod m { + const CONST1: usize = 10; + pub const Const2: usize = 20; +} + +fn main() { + let y = 1; + match y { + a | b => {} //~ ERROR variable `a` is not bound in all patterns + //~| ERROR variable `b` is not bound in all patterns + } + + let x = (E::A, E::B); + match x { + (A, B) | (ref B, c) | (c, A) => () + //~^ ERROR variable `A` is not bound in all patterns + //~| ERROR variable `B` is not bound in all patterns + //~| ERROR variable `B` is bound inconsistently + //~| ERROR mismatched types + //~| ERROR variable `c` is not bound in all patterns + //~| HELP if you meant to match on unit variant `E::A`, use the full path in the pattern + //~| HELP consider removing `ref` + } + + let z = (10, 20); + match z { + (CONST1, _) | (_, Const2) => () + //~^ ERROR variable `CONST1` is not bound in all patterns + //~| ERROR variable `Const2` is not bound in all patterns + //~| HELP if you meant to match on constant `m::Const2`, use the full path in the pattern + } +} -- cgit v1.2.3