// 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(ptr sil @test : $@convention(thin) (@in Error) -> () { entry(%0 : $*Error): // CHECK: [[ERROR_METADATA:%.*]] = call {{.*}}@"$ss5Error_pMD" // CHECK-NEXT: call swiftcc void @take_any_error(ptr noalias %0, ptr [[ERROR_METADATA]], ptr @"$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) -> () release_value %fn : $@callee_owned () ->() %ret = tuple () return %ret : $() }