Rename to Slab

This commit is contained in:
Alejandro Alonso
2025-01-09 10:39:45 -08:00
parent 515c64fd55
commit f76d841540
28 changed files with 201 additions and 370 deletions

View File

@@ -2,14 +2,14 @@
// REQUIR123ES: swift_feature_ValueGenerics
// CHECK-DAG: !DICompositeType({{.*}}templateParams: ![[VECTOR_PARAMS:.*]], {{.*}}identifier: "$ss6VectorVy$0_4main8MySpriteVGD"
// CHECK-DAG: ![[VECTOR_PARAMS]] = !{![[COUNT_PARAM:.*]], ![[ELEMENT_PARAM:.*]]}
// CHECK-DAG: !DICompositeType({{.*}}templateParams: ![[SLAB_PARAMS:.*]], {{.*}}identifier: "$es4SlabVy$0_4main8MySpriteVGD"
// CHECK-DAG: ![[SLAB_PARAMS]] = !{![[COUNT_PARAM:.*]], ![[ELEMENT_PARAM:.*]]}
// CHECK-DAG: ![[COUNT_PARAM]] = !DITemplateTypeParameter(type: ![[COUNT_TYPE:.*]])
// CHECK-DAG: ![[COUNT_TYPE]] = !DICompositeType({{.*}}name: "$s$0_D"
// CHECK-DAG: ![[COUNT_TYPE]] = !DICompositeType({{.*}}name: "$e$0_D"
// CHECK-DAG: ![[ELEMENT_PARAM]] = !DITemplateTypeParameter(type: ![[ELEMENT_TYPE:.*]])
// CHECK-DAG: ![[ELEMENT_TYPE]] = !DICompositeType({{.*}}name: "MySprite", {{.*}}identifier: "$s4main8MySpriteVD"
// CHECK-DAG: ![[ELEMENT_TYPE]] = !DICompositeType({{.*}}name: "MySprite", {{.*}}identifier: "$e4main8MySpriteVD"
struct MySprites {
var bricks: Vector<1,MySprite>
var bricks: Slab<1, MySprite>
}
struct MySprite {
@@ -19,6 +19,6 @@ struct MySprite {
nonisolated(unsafe)
var sprites: MySprites? = nil
public func foo() {
let bricks: Vector<1,MySprite> = [MySprite()]
let bricks: Slab<1, MySprite> = [MySprite()]
sprites = .init(bricks: bricks)
}

View File

@@ -4,25 +4,25 @@
import Builtin
struct Vector<let N: Int, Element: ~Copyable>: ~Copyable {
struct Slab<let N: Int, Element: ~Copyable>: ~Copyable {
let storage: Builtin.FixedArray<N, Element>
}
extension Vector: Copyable where Element: Copyable {}
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: "$s4main6VectorVyxq_GD"
func genericV<let N: Int, Element>(_: Vector<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: "$s4main6VectorVy$1_SiGD", {{.*}}templateParams: ![[VECTOR_PARAMS:.*]])
// CHECK-DAG: ![[VECTOR_PARAMS]] = !{![[COUNT_PARAM:.*]], ![[ELEMENT_PARAM:.*]]}
// 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(_: Vector<2, Int>) {}
func concreteV(_: Slab<2, Int>) {}