diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-06-09 01:04:58 +0200 |
|---|---|---|
| committer | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-06-15 19:18:09 +0200 |
| commit | 05dc86488067fd62b602a2cbbf566fed67f4e0ff (patch) | |
| tree | e8e0ef777949e4f5b77ef76432317167846b4fc2 /src/test/ui/pattern | |
| parent | e5060da781d4deea3b7caf81c30b72e1838fcb39 (diff) | |
| download | rust-05dc86488067fd62b602a2cbbf566fed67f4e0ff.tar.gz rust-05dc86488067fd62b602a2cbbf566fed67f4e0ff.zip | |
Move type_alias_enum_variants tests to a folder; Strip feature gates.
Diffstat (limited to 'src/test/ui/pattern')
| -rw-r--r-- | src/test/ui/pattern/enum-variant-generic-args.rs | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/src/test/ui/pattern/enum-variant-generic-args.rs b/src/test/ui/pattern/enum-variant-generic-args.rs deleted file mode 100644 index 85599530ea6..00000000000 --- a/src/test/ui/pattern/enum-variant-generic-args.rs +++ /dev/null @@ -1,43 +0,0 @@ -// run-pass - -#![feature(type_alias_enum_variants)] - -#![allow(irrefutable_let_patterns)] - -#[allow(dead_code)] -enum Enum<T> { TSVariant(T), SVariant { v: T } } -type Alias<T> = Enum<T>; -type AliasFixed = Enum<()>; - -macro_rules! is_variant { - (TSVariant, $expr:expr) => (is_variant!(@check TSVariant, (_), $expr)); - (SVariant, $expr:expr) => (is_variant!(@check SVariant, { v: _ }, $expr)); - (@check $variant:ident, $matcher:tt, $expr:expr) => ( - assert!(if let Enum::$variant::<()> $matcher = $expr { true } else { false }, - "expr does not have correct type"); - ); -} - -fn main() { - // Tuple struct variant - - is_variant!(TSVariant, Enum::TSVariant(())); - is_variant!(TSVariant, Enum::TSVariant::<()>(())); - is_variant!(TSVariant, Enum::<()>::TSVariant(())); - - is_variant!(TSVariant, Alias::TSVariant(())); - is_variant!(TSVariant, Alias::<()>::TSVariant(())); - - is_variant!(TSVariant, AliasFixed::TSVariant(())); - - // Struct variant - - is_variant!(SVariant, Enum::SVariant { v: () }); - is_variant!(SVariant, Enum::SVariant::<()> { v: () }); - is_variant!(SVariant, Enum::<()>::SVariant { v: () }); - - is_variant!(SVariant, Alias::SVariant { v: () }); - is_variant!(SVariant, Alias::<()>::SVariant { v: () }); - - is_variant!(SVariant, AliasFixed::SVariant { v: () }); -} |
