Skip to content

Commit e9e6a51

Browse files
committed
Unconditionally enable variadic generic types now that SE-0398 has been accepted
1 parent 3f62931 commit e9e6a51

31 files changed

+33
-118
lines changed

include/swift/AST/DiagnosticsSema.def

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5408,9 +5408,6 @@ ERROR(vararg_not_allowed,none,
54085408
"variadic parameter cannot appear outside of a function parameter list",
54095409
())
54105410

5411-
ERROR(experimental_type_with_parameter_pack,none,
5412-
"generic types with parameter packs are experimental",
5413-
())
54145411
ERROR(more_than_one_pack_in_type,none,
54155412
"generic type cannot declare more than one type pack", ())
54165413
ERROR(enum_with_pack,none,

lib/Sema/TypeCheckDeclPrimary.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -480,10 +480,6 @@ static void checkGenericParams(GenericContext *ownerCtx) {
480480
// is not enabled.
481481
auto &ctx = decl->getASTContext();
482482
if (gp->isParameterPack() && isGenericType) {
483-
if (!ctx.LangOpts.hasFeature(Feature::VariadicGenerics)) {
484-
decl->diagnose(diag::experimental_type_with_parameter_pack);
485-
}
486-
487483
TypeChecker::checkAvailability(
488484
gp->getSourceRange(),
489485
ownerCtx->getASTContext().getVariadicGenericTypeAvailability(),

test/Constraints/one_element_tuple.swift

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
// RUN: %target-typecheck-verify-swift -enable-experimental-feature VariadicGenerics -disable-availability-checking
2-
3-
// REQUIRES: asserts
1+
// RUN: %target-typecheck-verify-swift -disable-availability-checking
42

53
let t1: (_: Int) = (_: 3)
64

test/Constraints/pack-expansion-expressions.swift

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
// RUN: %target-typecheck-verify-swift -disable-availability-checking -enable-experimental-feature VariadicGenerics
2-
3-
// REQUIRES: asserts
1+
// RUN: %target-typecheck-verify-swift -disable-availability-checking
42

53
func tuplify<each T>(_ t: repeat each T) -> (repeat each T) {
64
return (repeat each t)

test/Constraints/variadic_generic_types.swift

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
// RUN: %target-typecheck-verify-swift -enable-experimental-feature VariadicGenerics -disable-availability-checking
2-
3-
// REQUIRES: asserts
1+
// RUN: %target-typecheck-verify-swift -disable-availability-checking
42

53
// Parsing an UnresolvedSpecializeExpr containing a PackExpansionType
64
struct G<each T> {}

test/DebugInfo/variadic-generics-count.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
// REQUIRES: asserts
21
// RUN: %target-swift-frontend -emit-ir %s -g -o - \
3-
// RUN: -parse-as-library -module-name a -enable-experimental-feature VariadicGenerics -disable-availability-checking | %FileCheck %s
2+
// RUN: -parse-as-library -module-name a -disable-availability-checking | %FileCheck %s
43

54
public func f1<each T>(ts: repeat each T) {
65
// CHECK: define {{.*}} @"$s1a2f12tsyxxQp_tRvzlF"(%swift.opaque** {{.*}}, i{{32|64}} [[COUNT1_1:.*]], %swift.type** {{.*}})

test/Generics/pack-shape-requirements.swift

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
// RUN: %target-swift-frontend -typecheck -enable-experimental-feature VariadicGenerics %s -debug-generic-signatures -disable-availability-checking 2>&1 | %FileCheck %s
2-
3-
// REQUIRES: asserts
1+
// RUN: %target-swift-frontend -typecheck %s -debug-generic-signatures -disable-availability-checking 2>&1 | %FileCheck %s
42

53
protocol P {
64
associatedtype A

test/Generics/variadic_generic_requirements.swift

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
// RUN: %target-typecheck-verify-swift -enable-experimental-feature VariadicGenerics -disable-availability-checking
2-
3-
// REQUIRES: asserts
1+
// RUN: %target-typecheck-verify-swift -disable-availability-checking
42

53
struct Conformance<each T: Equatable> {}
64

test/Generics/variadic_generic_types.swift

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
// RUN: %target-typecheck-verify-swift -enable-experimental-feature VariadicGenerics -disable-availability-checking
2-
3-
// Because of -enable-experimental-feature VariadicGenerics
4-
// REQUIRES: asserts
1+
// RUN: %target-typecheck-verify-swift -disable-availability-checking
52

63
// Disallowed cases
74
struct MultiplePack<each T, each U> {} // expected-error {{generic type cannot declare more than one type pack}}

test/Generics/variadic_generic_types_availability.swift

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
// RUN: %target-typecheck-verify-swift -enable-experimental-feature VariadicGenerics
2-
3-
// Because of -enable-experimental-feature VariadicGenerics
4-
// REQUIRES: asserts
1+
// RUN: %target-typecheck-verify-swift
52

63
// REQUIRES: OS=macosx
74

0 commit comments

Comments
 (0)