Skip to content

Commit 8f4216e

Browse files
committed
[Variadic Generics] fix tests incorrect pack expansion syntax in some tests, but also disable them due to triggering a constraints checker assertion
1 parent 01f7172 commit 8f4216e

File tree

4 files changed

+23
-16
lines changed

4 files changed

+23
-16
lines changed

test/Constraints/variadic_generic_types.swift

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// REQUIRES: rdar104716322
2+
13
// RUN: %target-typecheck-verify-swift -enable-experimental-feature VariadicGenerics
24

35
// REQUIRES: asserts
@@ -9,17 +11,16 @@ func f<T...>(_: repeat each T) {
911
_ = G< >.self
1012
_ = G<Int>.self
1113
_ = G<Int, String>.self
12-
_ = G<repeat T>.self
13-
_ = G<Int, repeat Array<T>>.self
14+
_ = G<repeat each T>.self
15+
_ = G<Int, repeat Array<each T>>.self
1416
}
1517

1618
// Forming PackExpansionTypeReprs in simplifyTypeExpr()
1719
func g<T...>(_: repeat each T) {
18-
_ = (repeat T).self
19-
_ = (Int, repeat T).self
20-
_ = ((repeat T) -> ()).self
21-
_ = ((Int, repeat Array<T>) -> ()).self
20+
_ = (repeat each T).self
21+
_ = (Int, repeat each T).self
22+
_ = ((repeat each T) -> ()).self
23+
_ = ((Int, repeat Array<each T>) -> ()).self
2224

23-
_ = (repeat Int).self // expected-error {{variadic expansion 'Int' must contain at least one variadic generic parameter}}
25+
_ = (repeat each Int).self // expected-error {{variadic expansion 'Int' must contain at least one variadic generic parameter}}
2426
}
25-

test/IRGen/variadic_generic_types.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// REQUIRES: rdar104716322
2+
13
// RUN: %target-swift-frontend -emit-ir -primary-file %s -enable-experimental-feature VariadicGenerics | %FileCheck %s
24

35
// Because of -enable-experimental-feature VariadicGenerics
@@ -18,7 +20,7 @@ struct G<T...> {
1820
}
1921

2022
func makeTuple1() -> (repeat each T).Type {
21-
return (repeat T).self
23+
return (repeat each T).self
2224
}
2325

2426
func makeTuple2() -> (repeat Array<each T>).Type {

test/Interpreter/variadic_generic_types.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// REQUIRES: rdar104716322
2+
13
// RUN: %target-run-simple-swift(-enable-experimental-feature VariadicGenerics) | %FileCheck %s
24

35
// REQUIRES: executable_test
@@ -7,7 +9,7 @@
79

810
struct G<T...> {
911
func makeTuple() {
10-
print((repeat (Array<T>)).self)
12+
print((repeat (Array<each T>)).self)
1113
}
1214
}
1315

test/SILGen/pack_expansion_type.swift

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// REQUIRES: rdar104716322
2+
13
// RUN: %target-swift-emit-silgen %s -enable-experimental-feature VariadicGenerics | %FileCheck %s
24

35
// Experimental features require an asserts compiler
@@ -36,10 +38,10 @@ func variadicMetatypes<T...>(_: repeat each T) {
3638
_ = VariadicType< >.self
3739
_ = VariadicType<Int>.self
3840
_ = VariadicType<Int, String>.self
39-
_ = VariadicType<repeat T>.self
40-
_ = VariadicType<Int, repeat Array<T>>.self
41-
_ = (repeat T).self
42-
_ = (Int, repeat Array<T>).self
43-
_ = ((repeat T) -> ()).self
44-
_ = ((Int, repeat Array<T>) -> ()).self
41+
_ = VariadicType<repeat each T>.self
42+
_ = VariadicType<Int, repeat Array<each T>>.self
43+
_ = (repeat each T).self
44+
_ = (Int, repeat Array<each T>).self
45+
_ = ((repeat each T) -> ()).self
46+
_ = ((Int, repeat Array<each T>) -> ()).self
4547
}

0 commit comments

Comments
 (0)