Skip to content

Commit 2973696

Browse files
committed
and generic enums aswell
Add generic enum test case
1 parent 83e0cfa commit 2973696

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

lib/Sema/TypeCheckDecl.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2469,7 +2469,8 @@ class DeclChecker : public DeclVisitor<DeclChecker> {
24692469
if (VD->getInterfaceType()->is<TupleType>()) {
24702470
uninhabitedTypeDiag = diag::pattern_no_uninhabited_tuple_type;
24712471
} else {
2472-
assert(VD->getInterfaceType()->is<EnumType>() &&
2472+
assert((VD->getInterfaceType()->is<EnumType>() ||
2473+
VD->getInterfaceType()->is<BoundGenericEnumType>()) &&
24732474
"unknown structurally uninhabited type");
24742475
}
24752476

test/decl/var/properties.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1285,3 +1285,7 @@ var sr8811y: (Int, Never) // expected-error {{variable 'sr8811y' cannot have tup
12851285
var sr8811z: Never {
12861286
return fatalError()
12871287
}
1288+
1289+
enum SR8811EmptyGenericEnum<A> {}
1290+
1291+
let sr8811z: SR8811SR8811EmptyGenericEnum<Int> // expected-error {{constant 'sr8811z' cannot have enum type 'SR8811EmptyGenericEnum<Int>' with no cases}}

0 commit comments

Comments
 (0)