Skip to content

Commit bb0cce7

Browse files
committed
[TypeChecker] NFC: Add a test-case for rdar://106737972
1 parent 878066b commit bb0cce7

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

test/Constraints/variadic_generic_functions.swift

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,13 @@ func contextualTyping() {
6969
let (_, _): ([Int], String?) = dependent([42], [""]) // expected-error {{cannot convert value of type '(Int?, String?)' to specified type '([Int], String?)'}}
7070
let (_, _, _): (String?, String?, Int) = dependent([42], [""]) // expected-error {{'(Int?, String?)' is not convertible to '(String?, String?, Int)', tuples have a different number of elements}}
7171
}
72+
73+
// rdar://106737972 - crash-on-invalid with default argument
74+
do {
75+
func foo<each T>(_: repeat each T = bar().element) {} // expected-note {{in call to function 'foo'}}
76+
// expected-error@-1 {{variadic parameter cannot have a default value}}
77+
// expected-error@-2 {{value pack expansion can only appear inside a function argument list or tuple element}}
78+
// expected-error@-3 {{generic parameter 'each T' could not be inferred}}
79+
80+
func bar<each T>() -> (repeat each T) {}
81+
}

0 commit comments

Comments
 (0)