// RUN: %target-sil-opt -enable-sil-verify-all %s -mandatory-inlining

sil_stage raw

import Builtin
import Swift
import SwiftShims

protocol P {
  func f7() -> () -> Self
}

sil hidden [ossa] @caller : $@convention(thin) (@in P) -> () {
bb0(%0 : $*P):
  %2 = open_existential_addr immutable_access %0 : $*P to $*@opened("214EF566-CD33-11E6-A1F0-34363BD08DA0") P
  %3 = witness_method $@opened("214EF566-CD33-11E6-A1F0-34363BD08DA0") P, #P.f7!1, %2 : $*@opened("214EF566-CD33-11E6-A1F0-34363BD08DA0") P : $@convention(witness_method: P) <τ_0_0 where τ_0_0 : P> (@in_guaranteed τ_0_0) -> @owned @callee_owned () -> @out τ_0_0
  %4 = apply %3<@opened("214EF566-CD33-11E6-A1F0-34363BD08DA0") P>(%2) : $@convention(witness_method: P) <τ_0_0 where τ_0_0 : P> (@in_guaranteed τ_0_0) -> @owned @callee_owned () -> @out τ_0_0

  %5 = function_ref @callee : $@convention(thin) <τ_0_0 where τ_0_0 : P> (@owned @callee_owned () -> @out τ_0_0) -> @out P
  %6 = partial_apply %5<@opened("214EF566-CD33-11E6-A1F0-34363BD08DA0") P>(%4) : $@convention(thin) <τ_0_0 where τ_0_0 : P> (@owned @callee_owned () -> @out τ_0_0) -> @out P
  %9 = alloc_stack $P
  %8 = copy_value %6 : $@callee_owned () -> @out P
  %10 = apply %8(%9) : $@callee_owned () -> @out P
  destroy_addr %9 : $*P
  dealloc_stack %9 : $*P
  destroy_value %6 : $@callee_owned () -> @out P
  destroy_addr %0 : $*P
  %15 = tuple ()
  return %15 : $()
}

sil hidden [transparent] [ossa] @callee : $@convention(thin) <τ_0_0 where τ_0_0 : P> (@owned @callee_owned () -> @out τ_0_0) -> @out P {
bb0(%0 : $*P, %1 : @owned $@callee_owned () -> @out τ_0_0):
  %2 = alloc_stack $τ_0_0
  %3 = apply %1(%2) : $@callee_owned () -> @out τ_0_0
  %4 = init_existential_addr %0 : $*P, $τ_0_0
  copy_addr [take] %2 to [initialization] %4 : $*τ_0_0
  %6 = tuple ()
  dealloc_stack %2 : $*τ_0_0
  return %6 : $()
}

sil_default_witness_table hidden P {
  no_default
}
