You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: test/Constraints/pack-expansion-expressions.swift
+5-5Lines changed: 5 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -87,25 +87,25 @@ func sameShapeDiagnostics<each T, each U>(t: repeat each T, u: repeat each U) {
87
87
_ =repeat(Array<eachT>(),each u) // expected-error {{pack expansion requires that 'U' and 'T' have the same shape}}
88
88
}
89
89
90
-
func returnPackExpansionType<eachT>(_ t:repeateachT)->repeateachT{ // expected-error {{variadic expansion 'T' cannot appear outside of a function parameter list, function result, tuple element or generic argument list}}
90
+
func returnPackExpansionType<eachT>(_ t:repeateachT)->repeateachT{ // expected-error {{pack expansion 'T' cannot appear outside of a function parameter list, function result, tuple element or generic argument list}}
91
91
fatalError()
92
92
}
93
93
94
94
func returnEachPackReference<eachT>(_ t:repeateachT)->eachT{ // expected-error {{pack reference 'T' can only appear in pack expansion or generic requirement}}
95
95
fatalError()
96
96
}
97
97
98
-
func returnRepeatTuple<eachT>(_ t:repeateachT)->(repeatT){ // expected-error {{pack expansion 'T' must specify a pack reference}}
98
+
func returnRepeatTuple<eachT>(_ t:repeateachT)->(repeatT){ // expected-error {{pack type 'T' must be referenced with 'each'}}
99
99
fatalError()
100
100
}
101
101
102
-
func parameterAsPackTypeWithoutExpansion<eachT>(_ t:T)->repeateachT{ // expected-error {{variadic expansion 'T' cannot appear outside of a function parameter list, function result, tuple element or generic argument list}}
102
+
func parameterAsPackTypeWithoutExpansion<eachT>(_ t:T)->repeateachT{ // expected-error {{pack expansion 'T' cannot appear outside of a function parameter list, function result, tuple element or generic argument list}}
103
103
fatalError()
104
104
}
105
105
106
106
func expansionOfNonPackType<T>(_ t:repeateachT){}
107
107
// expected-error@-1 {{'each' cannot be applied to non-pack type 'T'}}{{29-29=each }}
108
-
// expected-error@-2 {{variadic expansion 'T' must contain at least one variadic generic parameter}}
108
+
// expected-error@-2 {{pack expansion 'T' must contain at least one pack reference}}
109
109
110
110
func tupleExpansion<eachT,eachU>(
111
111
_ tuple1:(repeateachT),
@@ -143,7 +143,7 @@ func copyIntoTuple<each T>(_ arg: repeat each T) -> (repeat each T) {
143
143
}
144
144
func callCopyAndBind<T>(_ arg:repeateachT){
145
145
// expected-error@-1 {{'each' cannot be applied to non-pack type 'T'}}
146
-
// expected-error@-2 {{variadic expansion 'T' must contain at least one variadic generic parameter}}
146
+
// expected-error@-2 {{pack expansion 'T' must contain at least one pack reference}}
147
147
148
148
// Don't propagate errors for invalid declaration reference
Copy file name to clipboardExpand all lines: test/type/pack_expansion.swift
+7-7Lines changed: 7 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
// REQUIRES: asserts
4
4
5
5
func f1<eachT>()->repeateachT{}
6
-
// expected-error@-1 {{variadic expansion 'T' cannot appear outside of a function parameter list, function result, tuple element or generic argument list}}
6
+
// expected-error@-1 {{pack expansion 'T' cannot appear outside of a function parameter list, function result, tuple element or generic argument list}}
7
7
8
8
func f2<eachT>()->(repeateachT){}
9
9
// okay
@@ -19,12 +19,12 @@ protocol P<T> {
19
19
func f4<eachT>()->anyP<repeateachT>{}
20
20
21
21
typealiasT1<eachT>=repeateachT
22
-
// expected-error@-1 {{variadic expansion 'T' cannot appear outside of a function parameter list, function result, tuple element or generic argument list}}
22
+
// expected-error@-1 {{pack expansion 'T' cannot appear outside of a function parameter list, function result, tuple element or generic argument list}}
23
23
24
24
typealiasT2<eachT>=(repeateachT)
25
25
26
26
func f4<eachT>()->repeat()->eachT{}
27
-
// expected-error@-1 {{variadic expansion '() -> T' cannot appear outside of a function parameter list, function result, tuple element or generic argument list}}
27
+
// expected-error@-1 {{pack expansion '() -> T' cannot appear outside of a function parameter list, function result, tuple element or generic argument list}}
28
28
29
29
func f5<eachT>()->()->(repeateachT){}
30
30
@@ -36,24 +36,24 @@ enum E<each T> {
36
36
case f2(_:G<repeateachT>)
37
37
38
38
varx:repeateachT{fatalError()}
39
-
// expected-error@-1 {{variadic expansion 'T' cannot appear outside of a function parameter list, function result, tuple element or generic argument list}}
39
+
// expected-error@-1 {{pack expansion 'T' cannot appear outside of a function parameter list, function result, tuple element or generic argument list}}
40
40
41
41
varx:(repeateachT){fatalError()}
42
42
43
43
subscript(_:repeateachT)->Int{fatalError()}
44
44
45
45
subscript()->repeateachT{fatalError()}
46
-
// expected-error@-1 {{variadic expansion 'T' cannot appear outside of a function parameter list, function result, tuple element or generic argument list}}
46
+
// expected-error@-1 {{pack expansion 'T' cannot appear outside of a function parameter list, function result, tuple element or generic argument list}}
// expected-error@-1 {{variadic expansion 'T' cannot appear outside of a function parameter list, function result, tuple element or generic argument list}}
52
+
// expected-error@-1 {{pack expansion 'T' cannot appear outside of a function parameter list, function result, tuple element or generic argument list}}
53
53
54
54
structOuter<eachT>{
55
55
structBad<eachU>{
56
-
typealiasValue=(repeat(eachT,eachU)) // expected-error {{variadic expansion 'repeat (each T, each U)' requires that 'T' and 'U' have the same shape}}
56
+
typealiasValue=(repeat(eachT,eachU)) // expected-error {{pack expansion 'repeat (each T, each U)' requires that 'T' and 'U' have the same shape}}
0 commit comments