File tree Expand file tree Collapse file tree 1 file changed +17
-10
lines changed Expand file tree Collapse file tree 1 file changed +17
-10
lines changed Original file line number Diff line number Diff line change 9
9
10
10
#--- main.swift
11
11
func foo() async -> Int {
12
- let t = await try! bar(a: 1, b: 1)
13
- var baz = Baz(baz: 1)
14
- var qux = baz.qux(a: 1)
15
- return qux(1)
12
+ return await try! bar(a: 1, b: 1)
16
13
}
17
14
18
15
var res = {
@@ -21,15 +18,23 @@ var res = {
21
18
}(1)
22
19
23
20
fileprivate func bar(a: Int, b: Int) async throws -> Int {
24
- return res + a + b
21
+ var baz = Baz(baz: 1)
22
+ return res + a + b + Foo.foo_(a: baz)
23
+ }
24
+
25
+ struct Foo {
26
+ let foo: Int
27
+ static func foo_<T>(a: T) -> Int {
28
+ var a_ = a as! Baz
29
+ return a_.qux(a: 1)
30
+ }
25
31
}
26
32
27
33
struct Baz {
28
34
var baz: Int
29
- mutating func qux<T>(a: T) -> (Int) -> Int {
35
+ mutating func qux<T>(a: T) -> Int {
30
36
baz += 1
31
- print(a)
32
- return {$0 + 1}
37
+ return baz
33
38
}
34
39
}
35
40
41
46
run
42
47
bt
43
48
44
- # CHECK: Baz.qux<Int>(a=1)
45
- # CHECK: foo()
49
+ # CHECK: `Baz.qux<Int>(a=1)
50
+ # CHECK: `static Foo.foo_<main.Baz>(a=(baz = 1))
51
+ # CHECK: `bar(a=1, b=1)
52
+ # CHECK: `foo()
You can’t perform that action at this time.
0 commit comments