forked from swiftlang/swift
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patharguments_as_tuple_overloads.swift
68 lines (52 loc) · 1.63 KB
/
arguments_as_tuple_overloads.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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// RUN: %target-swift-emit-silgen -parse-as-library -module-name=test -primary-file %s | %FileCheck %s
// Check if we mangle the following constructors, functions, and
// subscripts correctly.
public struct Pair {
// CHECK: sil [ossa] @$s4test4PairVyACSi_SitcfC :
public init(_ a: Int, _ b: Int) {
}
// CHECK: sil [ossa] @$s4test4PairVyACSi_Sit_tcfC :
public init(_ t: (Int, Int)) {
}
// CHECK: sil [ossa] @$s4test4PairVAAyySi_SitF :
public func test(_ a: Int, _ b: Int) {
}
// CHECK: sil [ossa] @$s4test4PairVAAyySi_Sit_tF :
public func test(_ t: (Int, Int)) {
}
// CHECK: sil [ossa] @$s4test4PairVyS2i_Sitcig :
public subscript(_:Int, _:Int) -> Int {
get { return 0 }
}
// CHECK: sil [ossa] @$s4test4PairVyS2i_Sit_tcig :
public subscript(_:(Int, Int)) -> Int {
get { return 0 }
}
}
// CHECK: sil [ossa] @$s4testAAyySi_SitF :
public func test(_ a: Int, _ b: Int) {
}
// CHECK: sil [ossa] @$s4testAAyySi_Sit_tF :
public func test(_ t: (Int, Int)) {
}
// CHECK: sil [ossa] @$s4test0A7NoLabelyySi_Sit_tF :
public func testNoLabel(_: (Int, Int)) {
}
// CHECK: sil [ossa] @$s4test0A5FnArgyyySi_SitXEF :
public func testFnArg(_: (Int, Int) -> Void) {
}
// CHECK: sil [ossa] @$s4test0A5FnArgyyySi_Sit_tXEF :
public func testFnArg(_: ((Int, Int)) -> Void) {
}
// CHECK: sil [ossa] @$s4test3fooyyyt_tF :
public func foo(_: ()) {
}
// CHECK: sil [ossa] @$s4test3fooyyF :
public func foo() {
}
public func baz() {
// CHECK: function_ref @$s4test3bazyyFySi_Sit_tcfU_ :
let _: ((Int, Int)) -> Void = { x in }
// CHECK: function_ref @$s4test3bazyyFySi_SitcfU0_ :
let _: (Int, Int) -> Void = { x, y in }
}