@@ -85,14 +85,13 @@ func testInoutOpaque(_ c: C, i: Int) {
8585// CHECK: function_ref @$s10reabstract1CCSiIegly_ACSiytIeglnr_TR
8686// CHECK: partial_apply
8787// 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]]
9292// CHECK: } // end sil function '$s10reabstract15testInoutOpaque_1iyAA1CC_SitF'
9393
9494// 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 ()) -> () {
9695
9796func closureTakingOptional( _ fn: ( Int ? ) -> ( ) ) { }
9897closureTakingOptional ( { ( _: Any ) -> ( ) in } )
@@ -107,7 +106,6 @@ closureTakingOptional({ (_: Any) -> () in })
107106func evenLessFun( _ s: __shared C, _ o: __owned C) { }
108107
109108// 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 ()) -> ()
111109func testSharedOwnedOpaque( _ s: C , o: C ) {
112110 let box = Box ( t: evenLessFun)
113111 box. t ( s, o)
0 commit comments