File tree Expand file tree Collapse file tree 4 files changed +13
-4
lines changed Expand file tree Collapse file tree 4 files changed +13
-4
lines changed Original file line number Diff line number Diff line change @@ -93,6 +93,15 @@ extension _SmallString {
9393#endif
9494 }
9595
96+ @_alwaysEmitIntoClient @inline ( __always)
97+ internal static var contiguousCapacity : Int {
98+ #if _pointerBitWidth(_32) && os(watchOS)
99+ return capacity &- 2
100+ #else
101+ return capacity
102+ #endif
103+ }
104+
96105 // Get an integer equivalent to the _StringObject.discriminatedObjectRawBits
97106 // computed property.
98107 @inlinable @inline ( __always)
Original file line number Diff line number Diff line change @@ -409,7 +409,7 @@ extension String.UTF8View {
409409 public var _span : Span < UTF8 . CodeUnit > ? {
410410 @lifetime ( borrow self)
411411 borrowing get {
412- if _guts. isSmall && _guts. count > ( _SmallString. capacity &- 2 ) {
412+ if _guts. isSmall, _guts. count > _SmallString. contiguousCapacity {
413413 return nil
414414 }
415415 return _underlyingSpan ( )
Original file line number Diff line number Diff line change @@ -871,7 +871,7 @@ extension Substring.UTF8View {
871871 public var _span : Span < UTF8 . CodeUnit > ? {
872872 @lifetime ( borrow self)
873873 borrowing get {
874- if _wholeGuts. isSmall && _wholeGuts. count > ( _SmallString. capacity &- 2 ) {
874+ if _wholeGuts. isSmall, _wholeGuts. count > _SmallString. contiguousCapacity {
875875 // substring is spannable only when the whole string is spannable.
876876 return nil
877877 }
Original file line number Diff line number Diff line change @@ -291,7 +291,7 @@ extension String {
291291 public var _utf8Span : UTF8Span ? {
292292 @lifetime ( borrow self)
293293 borrowing get {
294- if _guts. isSmall && _guts. count > ( _SmallString. capacity &- 2 ) {
294+ if _guts. isSmall, _guts. count > _SmallString. contiguousCapacity {
295295 return nil
296296 }
297297 return unsafe UTF8 Span(
@@ -426,7 +426,7 @@ extension Substring {
426426 public var _utf8Span : UTF8Span ? {
427427 @lifetime ( borrow self)
428428 borrowing get {
429- if _wholeGuts. isSmall && _wholeGuts. count > ( _SmallString. capacity &- 2 ) {
429+ if _wholeGuts. isSmall, _wholeGuts. count > _SmallString. contiguousCapacity {
430430 // substring is spannable only when the whole string is spannable.
431431 return nil
432432 }
You can’t perform that action at this time.
0 commit comments