Skip to content

Commit a6d311e

Browse files
authored
Merge pull request #80501 from tshortli/stdlib-warnings
stdlib: Address #StrictMemorySafety and unreachable code warnings
2 parents ff14828 + 14e0eed commit a6d311e

File tree

3 files changed

+14
-14
lines changed

3 files changed

+14
-14
lines changed

stdlib/public/core/StringBridge.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ private func _stdlib_binary_createIndirectTaggedPointerNSString(
119119
ptr: UnsafePointer<UInt8>,
120120
count: Int
121121
) -> UnsafeRawPointer? {
122-
return _swift_stdlib_CreateIndirectTaggedPointerString(ptr, count);
122+
return unsafe _swift_stdlib_CreateIndirectTaggedPointerString(ptr, count);
123123
}
124124

125125
@usableFromInline // @testable
@@ -631,12 +631,12 @@ extension String {
631631
}
632632
if _guts._object.isImmortal && !_guts._object.largeFastIsConstantCocoa {
633633
if _guts.isASCII && _guts._object.isFastZeroTerminated {
634-
let ptr = _guts._object.fastUTF8.baseAddress!
634+
let ptr = unsafe _guts._object.fastUTF8.baseAddress!
635635
let count = _guts.count
636-
if let indirect = _stdlib_binary_createIndirectTaggedPointerNSString(
636+
if let indirect = unsafe _stdlib_binary_createIndirectTaggedPointerNSString(
637637
ptr: ptr, count: count
638638
) {
639-
return unsafeBitCast(indirect, to: AnyObject.self)
639+
return unsafe unsafeBitCast(indirect, to: AnyObject.self)
640640
}
641641
}
642642
let gutsCountAndFlags = _guts._object._countAndFlags

stdlib/public/core/StringUTF8View.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -345,11 +345,11 @@ extension String.UTF8View {
345345
#endif
346346
let count = _guts.count
347347
if _guts.isSmall {
348-
let a = Builtin.addressOfBorrow(self)
349-
let address = unsafe UnsafePointer<UTF8.CodeUnit>(a)
350-
let span = unsafe Span(_unsafeStart: address, count: count)
351348
fatalError("Span over the small string form is not supported yet.")
352-
return unsafe _overrideLifetime(span, borrowing: self)
349+
// let a = Builtin.addressOfBorrow(self)
350+
// let address = unsafe UnsafePointer<UTF8.CodeUnit>(a)
351+
// let span = unsafe Span(_unsafeStart: address, count: count)
352+
// return unsafe _overrideLifetime(span, borrowing: self)
353353
}
354354
_precondition(_guts.isFastUTF8)
355355
let buffer = unsafe _guts._object.fastUTF8

stdlib/public/core/Substring.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -782,19 +782,19 @@ extension Substring.UTF8View {
782782
let base: String.UTF8View = self._base
783783
let first = base._foreignDistance(from: base.startIndex, to: startIndex)
784784
let count = base._foreignDistance(from: startIndex, to: endIndex)
785-
let span = unsafe base.span._extracting(first..<(first &+ count))
785+
let span = base.span._extracting(first..<(first &+ count))
786786
return unsafe _overrideLifetime(span, borrowing: self)
787787
}
788788
#endif
789789
let first = _slice._startIndex._encodedOffset
790790
let end = _slice._endIndex._encodedOffset
791791
if _wholeGuts.isSmall {
792-
let a = Builtin.addressOfBorrow(self)
793-
let offset = first &+ (2 &* MemoryLayout<String.Index>.stride)
794-
let start = unsafe UnsafePointer<UTF8.CodeUnit>(a).advanced(by: offset)
795-
let span = unsafe Span(_unsafeStart: start, count: end &- first)
796792
fatalError("Span over the small string form is not supported yet.")
797-
return unsafe _overrideLifetime(span, borrowing: self)
793+
// let a = Builtin.addressOfBorrow(self)
794+
// let offset = first &+ (2 &* MemoryLayout<String.Index>.stride)
795+
// let start = unsafe UnsafePointer<UTF8.CodeUnit>(a).advanced(by: offset)
796+
// let span = unsafe Span(_unsafeStart: start, count: end &- first)
797+
// return unsafe _overrideLifetime(span, borrowing: self)
798798
}
799799
_internalInvariant(_wholeGuts.isFastUTF8)
800800
var span = unsafe Span(_unsafeElements: _wholeGuts._object.fastUTF8)

0 commit comments

Comments
 (0)