// RUN: %target-swift-frontend -emit-ir %s | %FileCheck %s -DINT=i%target-ptrsize import Swift sil @take_any_error : $@convention(thin) (@in T) -> () // CHECK-LABEL: swiftcc void @test(%swift.error** sil @test : $@convention(thin) (@in Error) -> () { entry(%0 : $*Error): // CHECK: [[VALUE:%.*]] = bitcast %swift.error** %0 to %swift.opaque* // CHECK-NEXT: [[ERROR_METADATA:%.*]] = call {{.*}}@"$ss5Error_pMD" // CHECK-NEXT: call swiftcc void @take_any_error(%swift.opaque* noalias nocapture [[VALUE]], %swift.type* [[ERROR_METADATA]], i8** @"$ss5ErrorWS") // CHECK-NEXT: ret void %take = function_ref @take_any_error : $@convention(thin) (@in T) -> () apply %take(%0) : $@convention(thin) (@in T) -> () %ret = tuple () return %ret : $() } sil @partial_apply_test : $@convention(thin) (@in Error) -> () { entry(%0 : $*Error): %take = function_ref @take_any_error : $@convention(thin) (@in T) -> () %fn = partial_apply %take(%0) : $@convention(thin) (@in T) -> () %ret = tuple () return %ret : $() }