diff options
Diffstat (limited to 'src/test/ui/type-alias-enum-variants/issue-61801-path-pattern-can-infer.rs')
-rw-r--r-- | src/test/ui/type-alias-enum-variants/issue-61801-path-pattern-can-infer.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/test/ui/type-alias-enum-variants/issue-61801-path-pattern-can-infer.rs b/src/test/ui/type-alias-enum-variants/issue-61801-path-pattern-can-infer.rs new file mode 100644 index 000000000..9c9eaab8d --- /dev/null +++ b/src/test/ui/type-alias-enum-variants/issue-61801-path-pattern-can-infer.rs @@ -0,0 +1,28 @@ +// In this regression test we check that a path pattern referring to a unit variant +// through a type alias is successful in inferring the generic argument. + +// check-pass + +enum Opt<T> { + N, + S(T), +} + +type OptAlias<T> = Opt<T>; + +fn f1(x: OptAlias<u8>) { + match x { + OptAlias::N // We previously failed to infer `T` to `u8`. + => (), + _ => (), + } + + match x { + < + OptAlias<_> // And we failed to infer this type also. + >::N => (), + _ => (), + } +} + +fn main() {} |