@@ -559,7 +559,7 @@ extension UnsafeRawPointer {
559
559
/// - Returns: a pointer properly aligned to store a value of type `T`.
560
560
@inlinable
561
561
@_alwaysEmitIntoClient
562
- public func alignedUp< T: ~ Copyable> ( for type: T . Type ) -> Self {
562
+ public func alignedUp< T: ~ Copyable & ~ Escapable > ( for type: T . Type ) -> Self {
563
563
let mask = UInt ( Builtin . alignof ( T . self) ) &- 1
564
564
let bits = ( UInt ( Builtin . ptrtoint_Word ( _rawValue) ) &+ mask) & ~ mask
565
565
_debugPrecondition ( bits != 0 , " Overflow in pointer arithmetic " )
@@ -577,7 +577,7 @@ extension UnsafeRawPointer {
577
577
/// - Returns: a pointer properly aligned to store a value of type `T`.
578
578
@inlinable
579
579
@_alwaysEmitIntoClient
580
- public func alignedDown< T: ~ Copyable> ( for type: T . Type ) -> Self {
580
+ public func alignedDown< T: ~ Copyable & ~ Escapable > ( for type: T . Type ) -> Self {
581
581
let mask = UInt ( Builtin . alignof ( T . self) ) &- 1
582
582
let bits = UInt ( Builtin . ptrtoint_Word ( _rawValue) ) & ~ mask
583
583
_debugPrecondition ( bits != 0 , " Overflow in pointer arithmetic " )
@@ -1563,7 +1563,7 @@ extension UnsafeMutableRawPointer {
1563
1563
/// - Returns: a pointer properly aligned to store a value of type `T`.
1564
1564
@inlinable
1565
1565
@_alwaysEmitIntoClient
1566
- public func alignedUp< T: ~ Copyable> ( for type: T . Type ) -> Self {
1566
+ public func alignedUp< T: ~ Copyable & ~ Escapable > ( for type: T . Type ) -> Self {
1567
1567
let mask = UInt ( Builtin . alignof ( T . self) ) &- 1
1568
1568
let bits = ( UInt ( Builtin . ptrtoint_Word ( _rawValue) ) &+ mask) & ~ mask
1569
1569
_debugPrecondition ( bits != 0 , " Overflow in pointer arithmetic " )
@@ -1581,7 +1581,7 @@ extension UnsafeMutableRawPointer {
1581
1581
/// - Returns: a pointer properly aligned to store a value of type `T`.
1582
1582
@inlinable
1583
1583
@_alwaysEmitIntoClient
1584
- public func alignedDown< T: ~ Copyable> ( for type: T . Type ) -> Self {
1584
+ public func alignedDown< T: ~ Copyable & ~ Escapable > ( for type: T . Type ) -> Self {
1585
1585
let mask = UInt ( Builtin . alignof ( T . self) ) &- 1
1586
1586
let bits = UInt ( Builtin . ptrtoint_Word ( _rawValue) ) & ~ mask
1587
1587
_debugPrecondition ( bits != 0 , " Overflow in pointer arithmetic " )
0 commit comments