diff --git a/swift/Sources/FlatBuffers/ByteBuffer.swift b/swift/Sources/FlatBuffers/ByteBuffer.swift index fead65efdf8..6372ba04753 100644 --- a/swift/Sources/FlatBuffers/ByteBuffer.swift +++ b/swift/Sources/FlatBuffers/ByteBuffer.swift @@ -234,7 +234,9 @@ public struct ByteBuffer { mutating func push(struct value: T, size: Int) { ensureSpace(size: size) var v = value - memcpy(_storage.memory.advanced(by: writerIndex &- size), &v, size) + _ = withUnsafeMutablePointer(to: &v) { pointer in + memcpy(_storage.memory.advanced(by: writerIndex &- size), pointer, size) + } _writerSize = _writerSize &+ size } @@ -247,7 +249,9 @@ public struct ByteBuffer { mutating func push(value: T, len: Int) { ensureSpace(size: len) var v = value - memcpy(_storage.memory.advanced(by: writerIndex &- len), &v, len) + _ = withUnsafeMutablePointer(to: &v) { pointer in + memcpy(_storage.memory.advanced(by: writerIndex &- len), pointer, len) + } _writerSize = _writerSize &+ len }