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") {
54
54
expectEqual ( 5 , Missile . missilesLaunched)
55
55
}
56
56
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
+
57
74
UnsafeMutableRawPointerExtraTestSuite . test ( " bindMemory " ) {
58
75
let sizeInBytes = 3 * MemoryLayout< Int> . stride
59
76
let p1 = UnsafeMutableRawPointer . allocate (
You can’t perform that action at this time.
0 commit comments