File tree Expand file tree Collapse file tree 1 file changed +17
-0
lines changed Expand file tree Collapse file tree 1 file changed +17
-0
lines changed Original file line number Diff line number Diff line change @@ -54,6 +54,23 @@ UnsafeMutableRawPointerExtraTestSuite.test("initializeMemory") {
5454 expectEqual ( 5 , Missile . missilesLaunched)
5555}
5656
57+ UnsafeMutableRawPointerExtraTestSuite . test ( " initializeMemorySingleElement " )
58+ . skip ( . custom( {
59+ if #available( SwiftStdlib 5 . 8 , * ) { return false } else { return true }
60+ } , reason: " Requires standard library from Swift 5.8 " ) )
61+ . code {
62+ Missile . missilesLaunched = 0
63+ let p1 = UnsafeMutableRawPointer . allocate (
64+ byteCount: MemoryLayout< Missile> . stride, alignment: MemoryLayout< Missile> . alignment
65+ )
66+ defer { p1. deallocate ( ) }
67+ var p2 = p1. initializeMemory ( as: Missile . self, to: Missile ( 1 ) )
68+ expectEqual ( 1 , p2. pointee. number)
69+ expectEqual ( p1, p2)
70+ p2. deinitialize ( )
71+ expectEqual ( Missile . missilesLaunched, 1 )
72+ }
73+
5774UnsafeMutableRawPointerExtraTestSuite . test ( " bindMemory " ) {
5875 let sizeInBytes = 3 * MemoryLayout< Int> . stride
5976 let p1 = UnsafeMutableRawPointer . allocate (
You can’t perform that action at this time.
0 commit comments