Skip to content

Commit d7fcb87

Browse files
author
Itai Ferber
committed
Address review feedback
1 parent 482e87d commit d7fcb87

File tree

2 files changed

+22
-23
lines changed

2 files changed

+22
-23
lines changed

stdlib/public/SDK/Foundation/Data.swift

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -314,8 +314,8 @@ internal final class _DataStorage {
314314
func append(_ otherData: Data) {
315315
guard otherData.count > 0 else { return }
316316
otherData.withUnsafeBytes {
317-
append($0.baseAddress!, length: $0.count)
318-
}
317+
append($0.baseAddress!, length: $0.count)
318+
}
319319
}
320320

321321
@inlinable
@@ -759,10 +759,10 @@ public struct Data : ReferenceConvertible, Equatable, Hashable, RandomAccessColl
759759
@inlinable
760760
var count: Int {
761761
get {
762-
return numericCast(length)
762+
return Int(length)
763763
}
764764
set(newValue) {
765-
precondition(newValue <= MemoryLayout<Buffer>.size)
765+
assert(newValue <= MemoryLayout<Buffer>.size)
766766
length = UInt8(newValue)
767767
}
768768
}
@@ -775,15 +775,15 @@ public struct Data : ReferenceConvertible, Equatable, Hashable, RandomAccessColl
775775

776776
@inlinable
777777
func withUnsafeBytes<Result>(_ apply: (UnsafeRawBufferPointer) throws -> Result) rethrows -> Result {
778-
let count: Int = numericCast(length)
778+
let count = Int(length)
779779
return try Swift.withUnsafeBytes(of: bytes) { (rawBuffer) throws -> Result in
780780
return try apply(UnsafeRawBufferPointer(start: rawBuffer.baseAddress, count: count))
781781
}
782782
}
783783

784784
@inlinable
785785
mutating func withUnsafeMutableBytes<Result>(_ apply: (UnsafeMutableRawBufferPointer) throws -> Result) rethrows -> Result {
786-
let count: Int = numericCast(length)
786+
let count = Int(length)
787787
return try Swift.withUnsafeMutableBytes(of: &bytes) { (rawBuffer) throws -> Result in
788788
return try apply(UnsafeMutableRawBufferPointer(start: rawBuffer.baseAddress, count: count))
789789
}
@@ -827,8 +827,8 @@ public struct Data : ReferenceConvertible, Equatable, Hashable, RandomAccessColl
827827
if count < range.upperBound {
828828
count = range.upperBound
829829
}
830-
Swift.withUnsafeMutableBytes(of: &bytes) { rawBuffer in
831-
bzero(rawBuffer.baseAddress?.advanced(by: range.lowerBound), range.upperBound - range.lowerBound)
830+
let _ = Swift.withUnsafeMutableBytes(of: &bytes) { rawBuffer in
831+
memset(rawBuffer.baseAddress?.advanced(by: range.lowerBound), 0, range.upperBound - range.lowerBound)
832832
}
833833
}
834834

@@ -838,7 +838,7 @@ public struct Data : ReferenceConvertible, Equatable, Hashable, RandomAccessColl
838838
assert(subrange.upperBound <= MemoryLayout<Buffer>.size)
839839
assert(count - (subrange.upperBound - subrange.lowerBound) + replacementLength <= MemoryLayout<Buffer>.size)
840840
precondition(subrange.lowerBound <= length, "index \(subrange.lowerBound) is out of bounds of 0..<\(length)")
841-
precondition(subrange.upperBound <= length, "index \(subrange.lowerBound) is out of bounds of 0..<\(length)")
841+
precondition(subrange.upperBound <= length, "index \(subrange.upperBound) is out of bounds of 0..<\(length)")
842842
let currentLength = count
843843
let resultingLength = currentLength - (subrange.upperBound - subrange.lowerBound) + replacementLength
844844
let shift = resultingLength - currentLength
@@ -872,7 +872,7 @@ public struct Data : ReferenceConvertible, Equatable, Hashable, RandomAccessColl
872872

873873
@inlinable
874874
var hashValue: Int {
875-
let count: Int = numericCast(length)
875+
let count = Int(length)
876876
return Swift.withUnsafeBytes(of: bytes) { (rawBuffer) -> Int in
877877
return Int(bitPattern: CFHashBytes(UnsafeMutablePointer(mutating: rawBuffer.baseAddress?.assumingMemoryBound(to: UInt8.self)), count))
878878
}
@@ -972,9 +972,9 @@ public struct Data : ReferenceConvertible, Equatable, Hashable, RandomAccessColl
972972
}
973973

974974
@inlinable
975-
var startIndex: Int { return numericCast(slice.lowerBound) }
975+
var startIndex: Int { return Int(slice.lowerBound) }
976976
@inlinable
977-
var endIndex: Int { return numericCast(slice.upperBound) }
977+
var endIndex: Int { return Int(slice.upperBound) }
978978

979979
@inlinable
980980
var capacity: Int {
@@ -991,7 +991,7 @@ public struct Data : ReferenceConvertible, Equatable, Hashable, RandomAccessColl
991991
@inlinable
992992
var count: Int {
993993
get {
994-
return numericCast(slice.upperBound - slice.lowerBound)
994+
return Int(slice.upperBound - slice.lowerBound)
995995
}
996996
set(newValue) {
997997
assert(newValue < HalfInt.max)
@@ -1004,7 +1004,7 @@ public struct Data : ReferenceConvertible, Equatable, Hashable, RandomAccessColl
10041004
@inlinable
10051005
var range: Range<Int> {
10061006
get {
1007-
return numericCast(slice.lowerBound)..<numericCast(slice.upperBound)
1007+
return Int(slice.lowerBound)..<Int(slice.upperBound)
10081008
}
10091009
set(newValue) {
10101010
assert(newValue.lowerBound < HalfInt.max)
@@ -1029,7 +1029,7 @@ public struct Data : ReferenceConvertible, Equatable, Hashable, RandomAccessColl
10291029
assert(endIndex + buffer.count < HalfInt.max)
10301030
ensureUniqueReference()
10311031
storage.replaceBytes(in: NSRange(location: range.upperBound, length: storage.length - (range.upperBound - storage._offset)), with: buffer.baseAddress, length: buffer.count)
1032-
slice = slice.lowerBound..<HalfInt(numericCast(slice.upperBound) + buffer.count)
1032+
slice = slice.lowerBound..<HalfInt(Int(slice.upperBound) + buffer.count)
10331033
}
10341034

10351035
@inlinable
@@ -2212,7 +2212,7 @@ public struct Data : ReferenceConvertible, Equatable, Hashable, RandomAccessColl
22122212

22132213
@inlinable
22142214
internal func _copyBytesHelper(to pointer: UnsafeMutableRawPointer, from range: Range<Int>) {
2215-
if range.upperBound - range.lowerBound == 0 { return }
2215+
if range.isEmpty { return }
22162216
_representation.copyBytes(to: pointer, from: range)
22172217
}
22182218

@@ -2453,7 +2453,7 @@ public struct Data : ReferenceConvertible, Equatable, Hashable, RandomAccessColl
24532453
/// - parameter newElements: The replacement bytes.
24542454
@inlinable
24552455
public mutating func replaceSubrange<ByteCollection : Collection>(_ subrange: Range<Index>, with newElements: ByteCollection) where ByteCollection.Iterator.Element == Data.Iterator.Element {
2456-
let totalCount: Int = numericCast(newElements.count)
2456+
let totalCount = Int(newElements.count)
24572457
_withStackOrHeapBuffer(totalCount) { conditionalBuffer in
24582458
let buffer = UnsafeMutableBufferPointer(start: conditionalBuffer.pointee.memory.assumingMemoryBound(to: UInt8.self), count: totalCount)
24592459
var (iterator, index) = newElements._copyContents(initializing: buffer)
@@ -2561,21 +2561,20 @@ public struct Data : ReferenceConvertible, Equatable, Hashable, RandomAccessColl
25612561
let lower = R.Bound(startIndex)
25622562
let upper = R.Bound(endIndex)
25632563
let range = rangeExpression.relative(to: lower..<upper)
2564-
let start: Int = numericCast(range.lowerBound)
2565-
let end: Int = numericCast(range.upperBound)
2564+
let start = Int(range.lowerBound)
2565+
let end = Int(range.upperBound)
25662566
let r: Range<Int> = start..<end
25672567
return _representation[r]
25682568
}
25692569
set {
25702570
let lower = R.Bound(startIndex)
25712571
let upper = R.Bound(endIndex)
25722572
let range = rangeExpression.relative(to: lower..<upper)
2573-
let start: Int = numericCast(range.lowerBound)
2574-
let end: Int = numericCast(range.upperBound)
2573+
let start = Int(range.lowerBound)
2574+
let end = Int(range.upperBound)
25752575
let r: Range<Int> = start..<end
25762576
replaceSubrange(r, with: newValue)
25772577
}
2578-
25792578
}
25802579

25812580
/// The start `Index` in the data.

stdlib/public/SDK/Foundation/DataProtocol.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ extension DataProtocol {
8686
}
8787

8888
public func lastRange<D: DataProtocol>(of data: D) -> Range<Index>? {
89-
return self.firstRange(of: data, in: self.startIndex ..< self.endIndex)
89+
return self.lastRange(of: data, in: self.startIndex ..< self.endIndex)
9090
}
9191

9292
@discardableResult

0 commit comments

Comments
 (0)