Files
swift-mirror/test/Serialization/Inputs/lifetime_dependence.swift
2025-10-01 11:07:48 -07:00

24 lines
469 B
Swift

import Builtin
@frozen
@safe
public struct Ref<T: ~Copyable>: Copyable, ~Escapable {
@usableFromInline
let _pointer: UnsafePointer<T>
@_lifetime(borrow value)
@_alwaysEmitIntoClient
@_transparent
public init(_ value: borrowing @_addressable T) {
unsafe _pointer = UnsafePointer(Builtin.unprotectedAddressOfBorrow(value))
}
@_alwaysEmitIntoClient
public subscript() -> T {
@_transparent
unsafeAddress {
unsafe _pointer
}
}
}