// RUN: %empty-directory(%t) // RUN: %target-swift-frontend -emit-module -enable-resilience -o %t/Conformances.swiftmodule %s // RUN: %target-swift-frontend -emit-sil -I %t %S/Inputs/ConformancesUser.swift -O | %FileCheck %s public protocol MyProto { init() func method() var prop: Int { get set } subscript(index: Int) -> Int { get set } } @_fixed_layout // allow conformance devirtualization public struct FullStructImpl: MyProto { public init() public func method() public var prop: Int { get set } public subscript(index: Int) -> Int { get set } } // CHECK-LABEL: sil @$S16ConformancesUser8testFullSiyF // CHECK: function_ref @$S12Conformances14FullStructImplVACycfC // CHECK: function_ref @$S12Conformances14FullStructImplV6methodyyF // CHECK: function_ref @$S12Conformances14FullStructImplV4propSivs // CHECK: function_ref @$S12Conformances14FullStructImplVyS2icig // CHECK: end sil function '$S16ConformancesUser8testFullSiyF' @_fixed_layout // allow conformance devirtualization public struct OpaqueStructImpl: MyProto {} // CHECK-LABEL: sil @$S16ConformancesUser10testOpaqueSiyF // CHECK: function_ref @$S12Conformances7MyProtoPxycfC // CHECK: function_ref @$S12Conformances7MyProtoP6methodyyF // CHECK: function_ref @$S12Conformances7MyProtoP4propSivs // CHECK: function_ref @$S12Conformances7MyProtoPyS2icig // CHECK: end sil function '$S16ConformancesUser10testOpaqueSiyF'