Skip to content

Commit 4206e5a

Browse files
committed
wip
1 parent 6a6fcc1 commit 4206e5a

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

validation-test/stdlib/Arrays.swift.gyb

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,19 +75,20 @@ all_array_types = ['ContiguousArray', 'ArraySlice', 'Array']
7575

7676
extension Array {
7777
var identity: UnsafePointer<Void> {
78-
return self._buffer.identity
78+
return unsafeBitCast(self, to: UnsafePointer<Void>.self)
7979
}
8080
}
8181

8282
extension ArraySlice {
83-
var identity: UnsafePointer<Void> {
84-
return self._buffer.identity
83+
typealias Identity = (UnsafePointer<Void>, UnsafePointer<Void>, UnsafePointer<Void>, UnsafePointer<Void>)
84+
var identity: Identity {
85+
return unsafeBitCast(self, to: Identity.self)
8586
}
8687
}
8788

8889
extension ContiguousArray {
8990
var identity: UnsafePointer<Void> {
90-
return self._buffer.identity
91+
return unsafeBitCast(self, to: UnsafePointer<Void>.self)
9192
}
9293
}
9394

@@ -246,10 +247,10 @@ ArrayTestSuite.test("${array_type}/emptyAllocation") {
246247
let arr0 = ${array_type}<Int>()
247248
let arr1 = ${array_type}<LifetimeTracked>(repeating: LifetimeTracked(0), count: 0)
248249
// Empty arrays all use the same buffer
249-
expectEqual(arr0._buffer.identity, arr1._buffer.identity)
250+
expectEqual(arr0.identity, arr1.identity)
250251

251252
let arr2: ${array_type}<LifetimeTracked> = []
252-
let emptyLiteralsShareBuffer = arr0._buffer.identity == arr2._buffer.identity
253+
let emptyLiteralsShareBuffer = arr0.identity == arr2.identity
253254
expectTrue(emptyLiteralsShareBuffer)
254255
}
255256

0 commit comments

Comments
 (0)