-
Notifications
You must be signed in to change notification settings - Fork 10.5k
/
Copy pathlabels.swift
35 lines (28 loc) · 1.87 KB
/
labels.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// RUN: %target-swift-frontend -module-name TestModule -typecheck -verify %s
// Function type with various forms of argument label.
typealias Function1 = (a: Int, // expected-error{{function types cannot have argument labels; use '_' before 'a'}}{{24-24=_ }}
_ b: Int, // okay
c d: Int, // expected-error{{function types cannot have argument labels; use '_' before 'c'}}{{24-25=_}}
e _: Int, // expected-error{{function types cannot have argument labels; use '_' before 'e'}}{{24-29=}}
_: Int, // okay
Int) // okay
-> Int
// Throwing versions.
typealias Function2 = (a: Int, // expected-error{{function types cannot have argument labels; use '_' before 'a'}}{{24-24=_ }}
_ b: Int, // okay
c d: Int, // expected-error{{function types cannot have argument labels; use '_' before 'c'}}{{24-25=_}}
e _: Int, // expected-error{{function types cannot have argument labels; use '_' before 'e'}}{{24-29=}}
_: Int, // okay
Int) // okay
throws -> Int
typealias Function3 = (a: Int, // expected-error{{function types cannot have argument labels; use '_' before 'a'}}{{24-24=_ }}
_ b: Int, // okay
c d: Int, // expected-error{{function types cannot have argument labels; use '_' before 'c'}}{{24-25=_}}
e _: Int, // expected-error{{function types cannot have argument labels; use '_' before 'e'}}{{24-29=}}
_: Int, // okay
Int) // okay
rethrows -> Int // expected-error{{only function declarations may be marked 'rethrows'}}
struct S2<X> { }
func testTentativeParsing() {
let _ = S2<(_ x: Int, _ y: Double) -> Int>()
}