Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/tests/regression.rs')
| -rw-r--r-- | crates/hir-ty/src/tests/regression.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/crates/hir-ty/src/tests/regression.rs b/crates/hir-ty/src/tests/regression.rs index 35079e7094..b0532ddcb3 100644 --- a/crates/hir-ty/src/tests/regression.rs +++ b/crates/hir-ty/src/tests/regression.rs @@ -2012,3 +2012,31 @@ fn rustc_test_issue_52437() { "#, ); } + +#[test] +fn incorrect_variant_form_through_alias_caught() { + check_types( + r#" +enum Enum { Braced {}, Unit, Tuple() } +type Alias = Enum; + +fn main() { + Alias::Braced; + //^^^^^^^^^^^^^ {unknown} + let Alias::Braced = loop {}; + //^^^^^^^^^^^^^ ! + let Alias::Braced(..) = loop {}; + //^^^^^^^^^^^^^^^^^ Enum + + Alias::Unit(); + //^^^^^^^^^^^^^ {unknown} + Alias::Unit{}; + //^^^^^^^^^^^^^ Enum + let Alias::Unit() = loop {}; + //^^^^^^^^^^^^^ Enum + let Alias::Unit{} = loop {}; + //^^^^^^^^^^^^^ Enum +} +"#, + ) +} |