// RUN: %empty-directory(%t)
// RUN: %target-build-swift %s -emit-module -emit-library -module-name capture_descriptors -o %t/capture_descriptors.%target-dylib-extension
// RUN: %target-swift-reflection-dump -binary-filename %t/capture_descriptors.%target-dylib-extension | %FileCheck %s

sil_stage canonical

import Builtin
import Swift
import SwiftShims

// CHECK:      CAPTURE DESCRIPTORS:
// CHECK-NEXT: ====================

class C<T> {}

sil_vtable C {}

sil @make_some_boxes : $@convention(thin) <T> () -> (<τ_0_0> { var τ_0_0 } <Int>, <τ_0_0> { var τ_0_0 } <(Int, Int)>, <τ_0_0> { var τ_0_0 } <C<T>>) {
  %a = alloc_box $<τ_0_0> { var τ_0_0 } <Int>
  %b = alloc_box $<τ_0_0> { var τ_0_0 } <(Int, Int)>
  %c = alloc_box $<τ_0_0> { var τ_0_0 } <C<T>>
  %result = tuple (%a : $<τ_0_0> { var τ_0_0 } <Int>, %b : $<τ_0_0> { var τ_0_0 } <(Int, Int)>, %c : $<τ_0_0> { var τ_0_0 } <C<T>>)
  return %result : $(<τ_0_0> { var τ_0_0 } <Int>, <τ_0_0> { var τ_0_0 } <(Int, Int)>, <τ_0_0> { var τ_0_0 } <C<T>>)
}

// CHECK:      - Capture types:
// CHECK-NEXT: (struct Swift.Int)
// CHECK-NEXT: - Metadata sources:

// CHECK:      - Capture types:
// CHECK-NEXT: (tuple
// CHECK-NEXT:   (struct Swift.Int)
// CHECK-NEXT:   (struct Swift.Int))
// CHECK-NEXT: - Metadata sources:

// CHECK:      - Capture types:
// CHECK-NEXT: (bound_generic_class capture_descriptors.C
// CHECK-NEXT:   (generic_type_parameter depth=0 index=0))
// CHECK-NEXT: - Metadata sources:
