diff options
Diffstat (limited to 'tests/ui/empty/empty-struct-braces-pat-1.rs')
-rw-r--r-- | tests/ui/empty/empty-struct-braces-pat-1.rs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/ui/empty/empty-struct-braces-pat-1.rs b/tests/ui/empty/empty-struct-braces-pat-1.rs new file mode 100644 index 000000000..9bed93f9c --- /dev/null +++ b/tests/ui/empty/empty-struct-braces-pat-1.rs @@ -0,0 +1,34 @@ +// Can't use empty braced struct as constant pattern + +// aux-build:empty-struct.rs + +extern crate empty_struct; +use empty_struct::*; + +struct Empty1 {} + +enum E { + Empty3 {} +} + +fn main() { + let e1 = Empty1 {}; + let e3 = E::Empty3 {}; + let xe1 = XEmpty1 {}; + let xe3 = XE::XEmpty3 {}; + + match e1 { + Empty1 => () // Not an error, `Empty1` is interpreted as a new binding + } + match e3 { + E::Empty3 => () + //~^ ERROR expected unit struct, unit variant or constant, found struct variant `E::Empty3` + } + match xe1 { + XEmpty1 => () // Not an error, `XEmpty1` is interpreted as a new binding + } + match xe3 { + XE::XEmpty3 => () + //~^ ERROR expected unit struct, unit variant or constant, found struct variant `XE::XEmpty3` + } +} |