mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
53 lines
1010 B
Swift
53 lines
1010 B
Swift
// RUN: %target-run-simple-swift | FileCheck %s
|
|
// REQUIRES: executable_test
|
|
|
|
import Swift
|
|
|
|
// Regression test for <rdar://problem/16119895>.
|
|
|
|
struct Generic<T> {
|
|
typealias Storage = _HeapBufferStorage<Int,T>
|
|
|
|
init() {
|
|
buffer = _HeapBuffer(Storage.self, 0, 0)
|
|
}
|
|
|
|
mutating func isUniquelyReferenced() -> Bool {
|
|
return buffer.isUniquelyReferenced()
|
|
}
|
|
|
|
var buffer: _HeapBuffer<Int, T>
|
|
}
|
|
func g0() {
|
|
var x = Generic<Int>()
|
|
// CHECK: true
|
|
print(x.isUniquelyReferenced())
|
|
// CHECK-NEXT: true
|
|
print(x.buffer.isUniquelyReferenced())
|
|
}
|
|
g0()
|
|
|
|
|
|
struct NonGeneric {
|
|
typealias T = Int
|
|
typealias Storage = _HeapBufferStorage<Int,T>
|
|
|
|
init() {
|
|
buffer = _HeapBuffer(Storage.self, 0, 0)
|
|
}
|
|
|
|
mutating func isUniquelyReferenced() -> Bool {
|
|
return buffer.isUniquelyReferenced()
|
|
}
|
|
|
|
var buffer: _HeapBuffer<Int, T>
|
|
}
|
|
func g1() {
|
|
var x = NonGeneric()
|
|
// CHECK-NEXT: true
|
|
print(x.isUniquelyReferenced())
|
|
// CHECK-NEXT: true
|
|
print(x.buffer.isUniquelyReferenced())
|
|
}
|
|
g1()
|