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