File: rdar81617749.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 (141 lines) | stat: -rw-r--r-- 4,582 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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
// RUN: %empty-directory(%t)
// RUN: %target-clang %S/Inputs/rdar81617749.m -I %S/Inputs -c -o %t/rdar81617749.o
// RUN: %target-build-swift -Xfrontend -disable-availability-checking -import-objc-header %S/Inputs/rdar81617749.h -Xlinker %t/rdar81617749.o -parse-as-library %s -o %t/main
// RUN: %target-codesign %t/main
// RUN: %target-run %t/main | %FileCheck %s

// REQUIRES: executable_test
// REQUIRES: objc_interop

// rdar://82123254
// UNSUPPORTED: use_os_stdlib
// UNSUPPORTED: back_deployment_runtime

func run(on object: PFXObject) async throws {
  // CHECK: performSingleFlaggy1
  print(try await object.performSingleFlaggy1()?())
  // CHECK: performSingleFlaggy2
  print(try await object.performSingleFlaggy2()?())
  // CHECK: performSingleErrory1
  print(try await object.performSingleErrory1()())
  // CHECK: performSingleErrory2
  print(try await object.performSingleErrory2()())

  // CHECK: performSingleBothy12
  print(try await object.performSingleBothy12()())
  // CHECK: performSingleBothy13
  print(try await object.performSingleBothy13()())

  // CHECK: performSingleBothy21
  print(try await object.performSingleBothy21()())
  
  // CHECK: performSingleBothy23
  print(try await object.performSingleBothy23()())
  // CHECK: performSingleBothy31
  print(try await object.performSingleBothy31()())
  // CHECK: performSingleBothy32
  print(try await object.performSingleBothy32()())

  // CHECK: performDoubleFlaggy1, part 1
  // CHECK: performDoubleFlaggy1, part 2
  let rFlaggy1 = try await object.performDoubleFlaggy1()
  rFlaggy1.0?()
  rFlaggy1.1?()
  // CHECK: performDoubleFlaggy2, part 1
  // CHECK: performDoubleFlaggy2, part 2
  let rFlaggy2 = try await object.performDoubleFlaggy2()
  rFlaggy2.0?()
  rFlaggy2.1?()
  // CHECK: performDoubleFlaggy3, part 1
  // CHECK: performDoubleFlaggy3, part 2
  let rFlaggy3 = try await object.performDoubleFlaggy3()
  rFlaggy3.0?()
  rFlaggy3.1?()

  // CHECK: performDoubleErrory1, part 1
  // CHECK: performDoubleErrory1, part 2
  let rErrory1 = try await object.performDoubleErrory1()
  rErrory1.0()
  rErrory1.1()
  // CHECK: performDoubleErrory2, part 1
  // CHECK: performDoubleErrory2, part 2
  let rErrory2 = try await object.performDoubleErrory2()
  rErrory2.0()
  rErrory2.1()
  // CHECK: performDoubleErrory3, part 1
  // CHECK: performDoubleErrory3, part 2
  let rErrory3 = try await object.performDoubleErrory3()
  rErrory3.0()
  rErrory3.1()

  // CHECK: performDoubleBothy12, part 1
  // CHECK: performDoubleBothy12, part 2
  let rBothy12 = try await object.performDoubleBothy12()
  rBothy12.0()
  rBothy12.1()
  // CHECK: performDoubleBothy13, part 1
  // CHECK: performDoubleBothy13, part 2
  let rBothy13 = try await object.performDoubleBothy13()
  rBothy13.0()
  rBothy13.1()
  // CHECK: performDoubleBothy14, part 1
  // CHECK: performDoubleBothy14, part 2
  let rBothy14 = try await object.performDoubleBothy14()
  rBothy14.0()
  rBothy14.1()

  // CHECK: performDoubleBothy21, part 1
  // CHECK: performDoubleBothy21, part 2
  let rBothy21 = try await object.performDoubleBothy21()
  rBothy21.0()
  rBothy21.1()
  // CHECK: performDoubleBothy23, part 1
  // CHECK: performDoubleBothy23, part 2
  let rBothy23 = try await object.performDoubleBothy23()
  rBothy23.0()
  rBothy23.1()
  // CHECK: performDoubleBothy24, part 1
  // CHECK: performDoubleBothy24, part 2
  let rBothy24 = try await object.performDoubleBothy24()
  rBothy24.0()
  rBothy24.1()

  // CHECK: performDoubleBothy31, part 1
  // CHECK: performDoubleBothy31, part 2
  let rBothy31 = try await object.performDoubleBothy31()
  rBothy31.0()
  rBothy31.1()
  // CHECK: performDoubleBothy32, part 1
  // CHECK: performDoubleBothy32, part 2
  let rBothy32 = try await object.performDoubleBothy32()
  rBothy32.0()
  rBothy32.1()
  // CHECK: performDoubleBothy34, part 1
  // CHECK: performDoubleBothy34, part 2
  let rBothy34 = try await object.performDoubleBothy34()
  rBothy34.0()
  rBothy34.1()

  // CHECK: performDoubleBothy41, part 1
  // CHECK: performDoubleBothy41, part 2
  let rBothy41 = try await object.performDoubleBothy41()
  rBothy41.0()
  rBothy41.1()
  // CHECK: performDoubleBothy42, part 1
  // CHECK: performDoubleBothy42, part 2
  let rBothy42 = try await object.performDoubleBothy42()
  rBothy42.0()
  rBothy42.1()
  // CHECK: performDoubleBothy43, part 1
  // CHECK: performDoubleBothy43, part 2
  let rBothy43 = try await object.performDoubleBothy43()
  rBothy43.0()
  rBothy43.1()
}

@main struct Main {
  static func main() async throws {
    let object = PFXObject()
    try await run(on: object)
  }
}