// RUN: %target-sil-opt -enable-sil-verify-all -abcopts %s | %FileCheck %s

sil_stage canonical

import Builtin
import Swift

struct ArrayBufferOf {
  var Ts: Builtin.NativeObject
}

struct ArrayOf<T> : _DestructorSafeContainer {
  var Buffer :  ArrayBufferOf
}

struct Foo {
  @sil_stored var subFoos: ArrayOf<Foo>
  init()
}

struct MyInt {
  var v : Builtin.Int32
}

// We used to crash on this example in DestructorAnalysis because the type 'Foo'
// is recursive.

// CHECK-LABEL: sil @handle_recursive_types

sil @handle_recursive_types : $@convention(c) () -> () {
bb0:
  %17 = metatype $@thin ArrayOf<Foo>.Type
  %18 = function_ref @array_init : $@convention(thin) (@thin ArrayOf<Foo>.Type) -> @owned ArrayOf<Foo>
  %19 = apply %18(%17) : $@convention(thin) (@thin ArrayOf<Foo>.Type) -> @owned ArrayOf<Foo>
  %25 = function_ref @array_get_count : $@convention(method) (@owned ArrayOf<Foo>) -> MyInt
  retain_value %19 : $ArrayOf<Foo>
  %27 = apply %25(%19) : $@convention(method) (@owned ArrayOf<Foo>) -> MyInt
  %28 = tuple ()
  release_value %19 : $ArrayOf<Foo>
  return %28 : $()
}

sil [fragile] [_semantics "array.init"] @array_init : $@convention(thin) (@thin ArrayOf<Foo>.Type) -> @owned ArrayOf<Foo>

sil [fragile] [_semantics "array.get_count"] @array_get_count : $@convention(method) (@owned ArrayOf<Foo>) -> MyInt
