- Notifications
You must be signed in to change notification settings - Fork 10.5k
/
Copy pathcaptures.swift
26 lines (25 loc) · 774 Bytes
/
captures.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
// RUN: %target-swift-frontend %s -parse-as-library -module-name a -emit-sil -g -o - | %FileCheck %s
structS{}
publicclassUIView{}
publicprotocolView{}
publicfinalclassSignal<Value>{
publicfunc map<U>(_ transform:@escaping(Value)->U)->Signal<U>{
returnSignal<U>()
}
}
publicfinalclassC<V:View, V1:View>:UIView{
privatelett1:C<V,V1>?=nil
privatelett2:C<V1,V>?=nil
func foo()->Signal<(S,UIView)>{
// CHECK: sil {{.*}}s1a1CC3foo
// CHECK: debug_value {{.*}} name "self"
// CHECK-NOT: debug_value {{.*}} name "view"
// CHECK: return %
return(
Signal<S>()
.map{[view = t1!]in($0, view)},
Signal<S>()
.map{[view = t2!]in($0, view)}
).0
}
}