// RUN: %target-sil-opt %s -verify | FileCheck %s import Swift public protocol mmOutputStreamType { /// Append the given `string` to this stream. mutating func write(string: String) } public protocol mmStreamable { func writeTo(inout target: Target) } // CHECK-LABEL: sil @test : $@convention(thin) () -> () { sil @test : $() -> () { bb0: %281 = alloc_stack $mmStreamable %282 = open_existential_addr %281#1 : $*mmStreamable to $*@opened("01234567-89ab-cdef-0123-000000000000") mmStreamable // CHECK: witness_method $@opened({{.*}}) mmStreamable, #mmStreamable.writeTo!1 %293 = witness_method $@opened("01234567-89ab-cdef-0123-000000000000") mmStreamable, #mmStreamable.writeTo!1, %282 : $*@opened("01234567-89ab-cdef-0123-000000000000") mmStreamable : $@convention(witness_method) @callee_owned (@inout T_1_0, @inout T_0_0) -> () dealloc_stack %281#0 : $*@local_storage mmStreamable %1 = tuple () return %1 : $() }