Files
swift-mirror/test/DebugInfo/value-generics.swift
Alejandro Alonso f76d841540 Rename to Slab
2025-01-09 10:39:45 -08:00

29 lines
1.3 KiB
Swift

// RUN: %target-swift-frontend %s -emit-ir -g -enable-builtin-module -enable-experimental-feature ValueGenerics -disable-availability-checking -o - | %FileCheck %s
// REQUIRES: swift_feature_ValueGenerics
import Builtin
struct Slab<let N: Int, Element: ~Copyable>: ~Copyable {
let storage: Builtin.FixedArray<N, Element>
}
extension Slab: Copyable where Element: Copyable {}
// CHECK-DAG: !DICompositeType({{.*}}name: "Builtin.FixedArray", {{.*}}identifier: "$sxq_BVD"
func genericBA<let N: Int, Element>(_: Builtin.FixedArray<N, Element>) {}
// CHECK-DAG: !DICompositeType({{.*}}name: "$s4main4SlabVyxq_GD"
func genericV<let N: Int, Element>(_: Slab<N, Element>) {}
// CHECK-DAG: !DICompositeType({{.*}}name: "Builtin.FixedArray", {{.*}}identifier: "$s$3_SiBVD"
func concreteBA(_: Builtin.FixedArray<4, Int>) {}
// CHECK-DAG: !DICompositeType({{.*}}name: "$s4main4SlabVy$1_SiGD", {{.*}}templateParams: ![[SLAB_PARAMS:.*]])
// CHECK-DAG: ![[SLAB_PARAMS]] = !{![[COUNT_PARAM:.*]], ![[ELEMENT_PARAM:.*]]}
// CHECK-DAG: ![[COUNT_PARAM]] = !DITemplateTypeParameter(type: ![[COUNT_TYPE:.*]])
// CHECK-DAG: ![[COUNT_TYPE]] = !DICompositeType({{.*}}name: "$s$1_D"
// CHECK-DAG: ![[ELEMENT_PARAM]] = !DITemplateTypeParameter(type: ![[ELEMENT_TYPE:.*]])
// CHECK-DAG: ![[ELEMENT_TYPE]] = !DICompositeType({{.*}}name: "$sSiD"
func concreteV(_: Slab<2, Int>) {}