// RUN: rm -rf %t // RUN: mkdir -p %t // RUN: %target-swift-frontend -emit-module -sil-serialize-all -o %t %S/Inputs/def_generic_marker.swift // RUN: %target-sil-opt -assume-parsing-unqualified-ownership-sil -linker -I %t %s | %FileCheck %s // Make sure that SILFunctionType with GenericSignature can match up with // SILFunctionType deserialized from module. import def_generic_marker import Builtin import Swift // CHECK-LABEL: sil @top_level_code // CHECK: function_ref @_T018def_generic_marker4testxx_q_tAA16mmCollectionTypeRzAaCR_9Generator_7ElementQY_AD_AERTzr0_lF : $@convention(thin) <τ_0_0, τ_0_1 where τ_0_0 : mmCollectionType, τ_0_1 : mmCollectionType, τ_0_0.Generator.Element == τ_0_1.Generator.Element> (@in τ_0_0, @in τ_0_1) -> @out τ_0_0 sil @top_level_code : $@convention(thin) () -> () { bb0: %43 = function_ref @_T018def_generic_marker4testxx_q_tAA16mmCollectionTypeRzAaCR_9Generator_7ElementQY_AD_AERTzr0_lF : $@convention(thin) (@in EC1, @in EC2) -> @out EC1 %0 = tuple () return %0 : $() } // Make sure the function body is deserialized. // CHECK-LABEL: @_T018def_generic_marker4testxx_q_tAA16mmCollectionTypeRzAaCR_9Generator_7ElementQY_AD_AERTzr0_lF : $@convention(thin) (@in EC1, @in EC2) -> @out EC1 { sil @_T018def_generic_marker4testxx_q_tAA16mmCollectionTypeRzAaCR_9Generator_7ElementQY_AD_AERTzr0_lF : $@convention(thin) (@in EC1, @in EC2) -> @out EC1