File tree Expand file tree Collapse file tree 1 file changed +9
-5
lines changed
Expand file tree Collapse file tree 1 file changed +9
-5
lines changed Original file line number Diff line number Diff line change @@ -24,16 +24,20 @@ extension Mirror {
2424// MARK: -
2525extension ExpressibleByIntegerLiteral {
2626 var bytes : [ UInt8 ] {
27- var data : [ UInt8 ] = [ UInt8] ( repeating: 0 , count: MemoryLayout< `Self`> . size)
28- data. withUnsafeMutableBufferPointer {
29- UnsafeMutableRawPointer ( $0. baseAddress!) . storeBytes ( of: self , as: Self . self)
27+ var value : Self = self
28+ let s : Int = MemoryLayout< `Self`> . size
29+ return withUnsafeMutablePointer ( to: & value) {
30+ $0. withMemoryRebound ( to: UInt8 . self, capacity: s) {
31+ Array ( UnsafeBufferPointer ( start: $0, count: s) )
32+ }
3033 }
31- return data
3234 }
3335
3436 init ( bytes: [ UInt8 ] ) {
3537 self = bytes. withUnsafeBufferPointer {
36- UnsafeRawPointer ( $0. baseAddress!) . load ( as: Self . self)
38+ $0. baseAddress!. withMemoryRebound ( to: Self . self, capacity: 1 ) {
39+ $0. pointee
40+ }
3741 }
3842 }
3943}
You can’t perform that action at this time.
0 commit comments