@@ -85,14 +85,13 @@ func testInoutOpaque(_ c: C, i: Int) {
85
85
// CHECK: function_ref @$s10reabstract1CCSiIegly_ACSiytIeglnr_TR
86
86
// CHECK: partial_apply
87
87
// CHECK: store
88
- // CHECK: load
89
- // CHECK: function_ref @$s10reabstract1CCSiytIeglnr_ACSiIegly_TR
90
- // CHECK: partial_apply
91
- // CHECK: apply
88
+ // CHECK: [[CLOSURE:%.*]] = struct_extract {{.*}}, #Box.t
89
+ // CHECK: [[CLOSURE1:%.*]] = copy_value [[CLOSURE]]
90
+ // CHECK: [[CLOSURE2:%.*]] = begin_borrow [[CLOSURE1]]
91
+ // CHECK: apply [[CLOSURE2]]
92
92
// CHECK: } // end sil function '$s10reabstract15testInoutOpaque_1iyAA1CC_SitF'
93
93
94
94
// CHECK-LABEL: sil shared [transparent] [serializable] [reabstraction_thunk] [ossa] @$s10reabstract1CCSiIegly_ACSiytIeglnr_TR : $@convention(thin) (@inout C, @in_guaranteed Int, @guaranteed @callee_guaranteed (@inout C, Int) -> ()) -> @out () {
95
- // CHECK-LABEL: sil shared [transparent] [serializable] [reabstraction_thunk] [ossa] @$s10reabstract1CCSiytIeglnr_ACSiIegly_TR : $@convention(thin) (@inout C, Int, @guaranteed @callee_guaranteed (@inout C, @in_guaranteed Int) -> @out ()) -> () {
96
95
97
96
func closureTakingOptional( _ fn: ( Int ? ) -> ( ) ) { }
98
97
closureTakingOptional ( { ( _: Any ) -> ( ) in } )
@@ -107,7 +106,6 @@ closureTakingOptional({ (_: Any) -> () in })
107
106
func evenLessFun( _ s: __shared C, _ o: __owned C) { }
108
107
109
108
// CHECK-LABEL: sil shared [transparent] [serializable] [reabstraction_thunk] [ossa] @$s10reabstract1CCACIeggx_A2CytIegnir_TR : $@convention(thin) (@in_guaranteed C, @in C, @guaranteed @callee_guaranteed (@guaranteed C, @owned C) -> ()) -> @out ()
110
- // CHECK-LABEL: sil shared [transparent] [serializable] [reabstraction_thunk] [ossa] @$s10reabstract1CCACytIegnir_A2CIeggx_TR : $@convention(thin) (@guaranteed C, @owned C, @guaranteed @callee_guaranteed (@in_guaranteed C, @in C) -> @out ()) -> ()
111
109
func testSharedOwnedOpaque( _ s: C , o: C ) {
112
110
let box = Box ( t: evenLessFun)
113
111
box. t ( s, o)
0 commit comments