File: arguments_as_tuple_overloads.swift

package info (click to toggle)
swiftlang 6.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,519,992 kB
  • sloc: cpp: 9,107,863; ansic: 2,040,022; asm: 1,135,751; python: 296,500; objc: 82,456; f90: 60,502; lisp: 34,951; pascal: 19,946; sh: 18,133; perl: 7,482; ml: 4,937; javascript: 4,117; makefile: 3,840; awk: 3,535; xml: 914; fortran: 619; cs: 573; ruby: 573
file content (68 lines) | stat: -rw-r--r-- 1,664 bytes parent folder | download
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 }
}