Swift modules in TypeScript

TypeScript implementations of 8 Swift standard library functions across 1 module. Each function is individually importable and tree-shakeable.

String

We have 8 Swift functions so far - help us add more

Got a rainy Sunday afternoon and a taste for a porting puzzle?

  • Get inspiration from the Swift documentation.
  • Click "New file" in the appropriate folder on GitHub. This will fork the project to your account, directly add the file to it, and send a Pull Request to us.

We will then review it. If it's useful to the project and in line with our contributing guidelines your work will become part of Locutus and you'll be automatically credited in the authors section accordingly.

Upstream Surface Inventory 3/6235 shipped · 596 next 0%

Locutus tracks 178 upstream namespaces for Swift and sorts them into what is already shipped, what we still want, what we intentionally keep, and what still needs a decision.

This inventory now tracks a broader Swift standard-library slice via docs-backed catalogs, excluding the wider Foundation ecosystem.

0% catalog shipped
Shipped Next Explicit non-goals
String 3% Substring 0% Double 0% Float 0% Array 0% Dictionary 0% Character 0% Bool 0% Int 0% Optional 0% AdditiveArithmetic 0% AnyBidirectionalCollection 0% AnyCollection 0% AnyHashable 0% AnyIndex 0% AnyIterator 0% AnyKeyPath 0% AnyRandomAccessCollection 0% AnySequence 0% ArraySlice 0% BidirectionalCollection 0% BinaryFloatingPoint 0% BinaryInteger 0% CaseIterable 0% ClosedRange 0% CodingKey 0% CodingKeyRepresentable 0% CodingUserInfoKey 0% Collection 0% CollectionDifference 0% CollectionOfOne 0% CommandLine 0% Comparable 0% ContiguousArray 0% CustomDebugStringConvertible 0% CustomPlaygroundDisplayConvertible 0% CustomReflectable 0% CustomStringConvertible 0% CVaListPointer 0% Decodable 0% Decoder 0% DecodingError 0% DefaultIndices 0% DefaultStringInterpolation 0% DiscontiguousSlice 0% DropFirstSequence 0% DropWhileSequence 0% Duration 0% DurationProtocol 0% EmptyCollection 0% Encodable 0% Encoder 0% EncodingError 0% EnumeratedSequence 0% Equatable 0% ExpressibleByArrayLiteral 0% ExpressibleByBooleanLiteral 0% ExpressibleByDictionaryLiteral 0% ExpressibleByExtendedGraphemeClusterLiteral 0% ExpressibleByFloatLiteral 0% ExpressibleByIntegerLiteral 0% ExpressibleByNilLiteral 0% ExpressibleByStringInterpolation 0% ExpressibleByStringLiteral 0% ExpressibleByUnicodeScalarLiteral 0% FixedWidthInteger 0% FlattenSequence 0% Float16 0% FloatingPoint 0% FloatingPointClassification 0% FloatingPointRoundingRule 0% FloatingPointSign 0% Hashable 0% Hasher 0% Identifiable 0% IndexingIterator 0% InstantProtocol 0% Int128 0% Int16 0% Int32 0% Int64 0% Int8 0% IteratorProtocol 0% IteratorSequence 0% JoinedSequence 0% KeyedDecodingContainer 0% KeyedDecodingContainerProtocol 0% KeyedEncodingContainer 0% KeyedEncodingContainerProtocol 0% KeyValuePairs 0% LazyCollectionProtocol 0% LazyDropWhileSequence 0% LazyFilterSequence 0% LazyMapSequence 0% LazyPrefixWhileSequence 0% LazySequence 0% LazySequenceProtocol 0% LosslessStringConvertible 0% ManagedBuffer 0% ManagedBufferPointer 0% MemoryLayout 0% Mirror 0% MutableCollection 0% Never 0% Numeric 0% ObjectIdentifier 0% OpaquePointer 0% OptionSet 0% PartialRangeFrom 0% PartialRangeThrough 0% PartialRangeUpTo 0% PrefixSequence 0% RandomAccessCollection 0% RandomNumberGenerator 0% Range 0% RangeExpression 0% RangeReplaceableCollection 0% RangeSet 0% RawRepresentable 0% Repeated 0% Result 0% ReversedCollection 0% Sequence 0% Set 0% SetAlgebra 0% SignedInteger 0% SignedNumeric 0% SIMD 0% SIMD16 0% SIMD2 0% SIMD3 0% SIMD32 0% SIMD4 0% SIMD64 0% SIMD8 0% SIMDMask 0% SIMDScalar 0% SIMDStorage 0% SingleValueDecodingContainer 0% SingleValueEncodingContainer 0% Slice 0% StaticBigInt 0% StaticString 0% Strideable 0% StrideThrough 0% StrideThroughIterator 0% StrideTo 0% StrideToIterator 0% StringInterpolationProtocol 0% StringProtocol 0% Swift 0% SystemRandomNumberGenerator 0% TextOutputStream 0% TextOutputStreamable 0% UInt 0% UInt128 0% UInt16 0% UInt32 0% UInt64 0% UInt8 0% UnboundedRange_ 0% UnfoldSequence 0% Unicode 0% UnicodeCodec 0% UnicodeDecodingResult 0% UnkeyedDecodingContainer 0% UnkeyedEncodingContainer 0% Unmanaged 0% UnsafeBufferPointer 0% UnsafeMutableBufferPointer 0% UnsafeMutablePointer 0% UnsafeMutableRawBufferPointer 0% UnsafeMutableRawPointer 0% UnsafePointer 0% UnsafeRawBufferPointer 0% UnsafeRawPointer 0% UnsignedInteger 0% Zip2Sequence 0%
Tracked namespaces 178
Shipped 3/6235
Next to port 596
Explicit non-goals 5636
Intentional extras 5

In progress

String

Swift 6.0 · Catalog source: live runtime snapshot swift:6.0:String

3% shipped
3/104 shipped 101 next 5 intentional extras
Shipped (8)

Next

Swift String helpers are strong plain-value portability targets.

  • !=
  • ...
  • ..<
  • +
  • +=
  • <
  • <=
  • ==
  • >
  • >=
  • ~=
  • allSatisfy
  • append
  • applying
  • characters
  • CharacterView
  • codingKey
  • compactMap
  • contains
  • count
  • customMirror
  • customPlaygroundQuickLook
  • debugDescription
  • decodeCString
  • description
  • difference
  • distance
  • drop
  • dropFirst
  • dropLast
  • Element
  • elementsEqual
  • encode
  • encodedOffset
  • endIndex
  • enumerated
  • filter
  • first
  • firstIndex
  • flatMap
  • forEach
  • formIndex
  • hash
  • index
  • Index
  • IndexDistance
  • indices
  • init
  • insert
  • isContiguousUTF8
  • isEmpty
  • Iterator
  • last
  • lastIndex
  • lazy
  • lexicographicallyPrecedes
  • lowercased
  • makeContiguousUTF8
  • makeIterator
  • map
  • max
  • min
  • next
  • popLast
  • prefix
  • randomElement
  • reduce
  • remove
  • removeAll
  • removeFirst
  • removeLast
  • removeSubrange
  • removeSubranges
  • removingSubranges
  • replaceSubrange
  • reserveCapacity
  • reversed
  • samePosition
  • shuffled
  • sorted
  • startIndex
  • starts
  • subscript
  • SubSequence
  • suffix
  • underestimatedCount
  • UnicodeScalarIndex
  • unicodeScalars
  • UnicodeScalarView
  • uppercased
  • utf16
  • utf16Offset
  • UTF16View
  • utf8
  • utf8CString
  • UTF8View
  • withContiguousStorageIfAvailable
  • withCString
  • withMutableCharacters
  • withUTF8
  • write

Intentional extras

Substring

Swift 6.0 · Catalog source: live runtime snapshot swift:6.0:Substring

0% shipped
0/96 shipped 96 next

Next

Substring transforms are strong plain-value portability targets when modeled as strings.

  • !=
  • ...
  • ..<
  • +
  • +=
  • <
  • <=
  • ==
  • >
  • >=
  • ~=
  • allSatisfy
  • append
  • applying
  • base
  • characters
  • CharacterView
  • compactMap
  • contains
  • count
  • customMirror
  • customPlaygroundQuickLook
  • debugDescription
  • description
  • difference
  • distance
  • drop
  • dropFirst
  • dropLast
  • Element
  • elementsEqual
  • endIndex
  • enumerated
  • filter
  • first
  • firstIndex
  • flatMap
  • forEach
  • formIndex
  • hash
  • hasPrefix
  • hasSuffix
  • index
  • Index
  • indices
  • Indices
  • init
  • insert
  • isContiguousUTF8
  • isEmpty
  • last
  • lastIndex
  • lazy
  • lexicographicallyPrecedes
  • lowercased
  • makeContiguousUTF8
  • makeIterator
  • map
  • max
  • min
  • popFirst
  • popLast
  • prefix
  • randomElement
  • reduce
  • remove
  • removeAll
  • removeFirst
  • removeLast
  • removeSubrange
  • removeSubranges
  • removingSubranges
  • replaceSubrange
  • reserveCapacity
  • reversed
  • shuffled
  • sorted
  • split
  • startIndex
  • starts
  • subscript
  • SubSequence
  • suffix
  • underestimatedCount
  • unicodeScalars
  • UnicodeScalarView
  • uppercased
  • utf16
  • UTF16View
  • utf8
  • UTF8View
  • withContiguousStorageIfAvailable
  • withCString
  • withMutableCharacters
  • withUTF8
  • write

Double

Swift 6.0 · Catalog source: live runtime snapshot swift:6.0:Double

0% shipped
0/91 shipped 91 next

Next

Scalar floating-point helpers are strong Swift portability targets.

  • -
  • -=
  • !=
  • ...
  • ..<
  • *
  • *=
  • /
  • /=
  • +
  • +=
  • <
  • <=
  • ==
  • >
  • >=
  • addingProduct
  • addProduct
  • advanced
  • binade
  • bitPattern
  • customMirror
  • customPlaygroundQuickLook
  • debugDescription
  • description
  • distance
  • encode
  • exponent
  • Exponent
  • exponentBitCount
  • exponentBitPattern
  • floatingPointClass
  • formRemainder
  • formSquareRoot
  • formTruncatingRemainder
  • greatestFiniteMagnitude
  • hash
  • infinity
  • init
  • isCanonical
  • isEqual
  • isFinite
  • isInfinite
  • isLess
  • isLessThanOrEqualTo
  • isNaN
  • isNormal
  • isSignalingNaN
  • isSubnormal
  • isTotallyOrdered
  • isZero
  • leastNonzeroMagnitude
  • leastNormalMagnitude
  • magnitude
  • Magnitude
  • maximum
  • maximumMagnitude
  • minimum
  • minimumMagnitude
  • nan
  • negate
  • nextDown
  • nextUp
  • pi
  • radix
  • random
  • RawSignificand
  • remainder
  • round
  • rounded
  • scalarCount
  • sign
  • signalingNaN
  • significand
  • significandBitCount
  • significandBitPattern
  • significandWidth
  • SIMD16Storage
  • SIMD2Storage
  • SIMD32Storage
  • SIMD4Storage
  • SIMD64Storage
  • SIMD8Storage
  • SIMDMaskScalar
  • squareRoot
  • subscript
  • truncatingRemainder
  • ulp
  • ulpOfOne
  • write
  • zero

Float

Swift 6.0 · Catalog source: live runtime snapshot swift:6.0:Float

0% shipped
0/91 shipped 91 next

Next

Scalar floating-point helpers are strong Swift portability targets.

  • -
  • -=
  • !=
  • ...
  • ..<
  • *
  • *=
  • /
  • /=
  • +
  • +=
  • <
  • <=
  • ==
  • >
  • >=
  • addingProduct
  • addProduct
  • advanced
  • binade
  • bitPattern
  • customMirror
  • customPlaygroundQuickLook
  • debugDescription
  • description
  • distance
  • encode
  • exponent
  • Exponent
  • exponentBitCount
  • exponentBitPattern
  • floatingPointClass
  • formRemainder
  • formSquareRoot
  • formTruncatingRemainder
  • greatestFiniteMagnitude
  • hash
  • infinity
  • init
  • isCanonical
  • isEqual
  • isFinite
  • isInfinite
  • isLess
  • isLessThanOrEqualTo
  • isNaN
  • isNormal
  • isSignalingNaN
  • isSubnormal
  • isTotallyOrdered
  • isZero
  • leastNonzeroMagnitude
  • leastNormalMagnitude
  • magnitude
  • Magnitude
  • maximum
  • maximumMagnitude
  • minimum
  • minimumMagnitude
  • nan
  • negate
  • nextDown
  • nextUp
  • pi
  • radix
  • random
  • RawSignificand
  • remainder
  • round
  • rounded
  • scalarCount
  • sign
  • signalingNaN
  • significand
  • significandBitCount
  • significandBitPattern
  • significandWidth
  • SIMD16Storage
  • SIMD2Storage
  • SIMD32Storage
  • SIMD4Storage
  • SIMD64Storage
  • SIMD8Storage
  • SIMDMaskScalar
  • squareRoot
  • subscript
  • truncatingRemainder
  • ulp
  • ulpOfOne
  • write
  • zero

Array

Swift 6.0 · Catalog source: live runtime snapshot swift:6.0:Array

0% shipped
0/81 shipped 81 next

Next

Array transforms are strong Swift plain-value portability targets.

  • !=
  • +
  • +=
  • ==
  • allSatisfy
  • append
  • applying
  • capacity
  • compactMap
  • contains
  • count
  • customMirror
  • debugDescription
  • description
  • difference
  • distance
  • drop
  • dropFirst
  • dropLast
  • elementsEqual
  • encode
  • endIndex
  • enumerated
  • filter
  • first
  • firstIndex
  • flatMap
  • forEach
  • formIndex
  • hash
  • index
  • Index
  • indices
  • Indices
  • init
  • insert
  • isEmpty
  • Iterator
  • joined
  • last
  • lastIndex
  • lazy
  • lexicographicallyPrecedes
  • makeIterator
  • map
  • max
  • min
  • moveSubranges
  • partition
  • popLast
  • prefix
  • randomElement
  • reduce
  • remove
  • removeAll
  • removeFirst
  • removeLast
  • removeSubrange
  • removeSubranges
  • removingSubranges
  • replaceSubrange
  • reserveCapacity
  • reverse
  • reversed
  • shuffle
  • shuffled
  • sort
  • sorted
  • split
  • startIndex
  • starts
  • subscript
  • suffix
  • swapAt
  • underestimatedCount
  • withContiguousMutableStorageIfAvailable
  • withContiguousStorageIfAvailable
  • withUnsafeBufferPointer
  • withUnsafeBytes
  • withUnsafeMutableBufferPointer
  • withUnsafeMutableBytes

Dictionary

Swift 6.0 · Catalog source: live runtime snapshot swift:6.0:Dictionary

0% shipped
0/79 shipped 79 next

Next

Dictionary readers and pure transforms are strong Swift plain-value portability targets.

  • !=
  • ...
  • ..<
  • <
  • <=
  • ==
  • >
  • >=
  • allSatisfy
  • capacity
  • compactMap
  • compactMapValues
  • contains
  • count
  • customMirror
  • debugDescription
  • description
  • distance
  • drop
  • dropFirst
  • dropLast
  • Element
  • elementsEqual
  • encode
  • endIndex
  • enumerated
  • filter
  • first
  • firstIndex
  • flatMap
  • forEach
  • formIndex
  • hash
  • index
  • Index
  • indices
  • init
  • isEmpty
  • Iterator
  • joined
  • keys
  • Keys
  • lazy
  • lexicographicallyPrecedes
  • makeIterator
  • map
  • mapValues
  • max
  • merge
  • merging
  • min
  • moveSubranges
  • next
  • partition
  • popFirst
  • prefix
  • randomElement
  • reduce
  • remove
  • removeAll
  • removeValue
  • removingSubranges
  • reserveCapacity
  • reversed
  • shuffled
  • sorted
  • split
  • startIndex
  • starts
  • subscript
  • SubSequence
  • suffix
  • swapAt
  • underestimatedCount
  • updateValue
  • values
  • Values
  • withContiguousMutableStorageIfAvailable
  • withContiguousStorageIfAvailable

Character

Swift 6.0 · Catalog source: live runtime snapshot swift:6.0:Character

0% shipped
0/40 shipped 40 next

Next

Character classification and case helpers are strong Swift plain-value portability targets.

  • !=
  • ...
  • ..<
  • <
  • <=
  • ==
  • >
  • >=
  • asciiValue
  • customMirror
  • customPlaygroundQuickLook
  • debugDescription
  • description
  • hash
  • hexDigitValue
  • init
  • isASCII
  • isCased
  • isCurrencySymbol
  • isHexDigit
  • isLetter
  • isLowercase
  • isMathSymbol
  • isNewline
  • isNumber
  • isPunctuation
  • isSymbol
  • isUppercase
  • isWhitespace
  • isWholeNumber
  • lowercased
  • unicodeScalars
  • UnicodeScalarView
  • uppercased
  • utf16
  • UTF16View
  • utf8
  • UTF8View
  • wholeNumberValue
  • write

Bool

Swift 6.0 · Catalog source: live runtime snapshot swift:6.0:Bool

0% shipped
0/13 shipped 13 next

Next

Boolean parsing and description helpers have a clean plain-value contract.

  • !
  • !=
  • &&
  • ==
  • ||
  • customMirror
  • customPlaygroundQuickLook
  • description
  • encode
  • hash
  • init
  • random
  • toggle

Int

Swift 6.0 · Catalog source: live runtime snapshot swift:6.0:Int

0% shipped
0/3 shipped 3 next 123 explicit non-goals

Next

Core integer arithmetic and comparison helpers are strong Swift portability targets.

  • +
  • ==
  • magnitude
Explicit non-goals (123)
  • - Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • -= Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • != Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • ... Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • ..< Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • * Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • *= Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • / Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • /= Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • & Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • &- Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • &-= Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • &* Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • &*= Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • &+ Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • &+= Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • &<< Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • &<<= Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • &= Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • &>> Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • &>>= Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • % Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • %= Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • ^ Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • ^= Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • += Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • < Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • << Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • <<= Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • <= Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • > Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • >= Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • >> Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • >>= Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • | Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • |= Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • ~ Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • addingReportingOverflow Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • advanced Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • allSatisfy Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • bigEndian Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • bitWidth Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • byteSwapped Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • codingKey Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • compactMap Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • contains Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • count Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • customMirror Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • customPlaygroundQuickLook Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • description Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • difference Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • distance Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • dividedReportingOverflow Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • dividingFullWidth Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • drop Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • dropFirst Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • dropLast Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • elementsEqual Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • encode Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • endIndex Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • enumerated Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • filter Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • first Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • firstIndex Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • flatMap Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • forEach Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • formIndex Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • hash Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • index Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • indices Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • Indices Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • init Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • IntegerLiteralType Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • isEmpty Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • isMultiple Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • isSigned Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • last Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • lastIndex Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • lazy Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • leadingZeroBitCount Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • lexicographicallyPrecedes Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • littleEndian Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • Magnitude Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • makeIterator Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • map Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • max Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • min Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • multipliedFullWidth Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • multipliedReportingOverflow Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • negate Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • nonzeroBitCount Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • prefix Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • quotientAndRemainder Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • random Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • randomElement Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • reduce Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • remainderReportingOverflow Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • removingSubranges Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • reversed Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • scalarCount Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • shuffled Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • signum Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • SIMD16Storage Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • SIMD2Storage Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • SIMD32Storage Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • SIMD4Storage Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • SIMD64Storage Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • SIMD8Storage Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • SIMDMaskScalar Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • sorted Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • split Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • startIndex Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • starts Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • subscript Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • SubSequence Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • subtractingReportingOverflow Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • suffix Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • trailingZeroBitCount Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • underestimatedCount Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • withContiguousStorageIfAvailable Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • words Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • Words Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.
  • zero Skip Integer scalar namespaces mix protocol, collection, randomness, and reflection APIs too broadly for one stable plain-value contract by default.

Optional

Swift 6.0 · Catalog source: live runtime snapshot swift:6.0:Optional

0% shipped
0/1 shipped 1 next 13 explicit non-goals

Next

Optional mapping over plain values still has a useful portability contract.

  • map
Explicit non-goals (13)
  • != Skip Optional wrappers do not map directly to one stable plain-value contract.
  • == Skip Optional wrappers do not map directly to one stable plain-value contract.
  • ~= Skip Optional wrappers do not map directly to one stable plain-value contract.
  • customMirror Skip Optional wrappers do not map directly to one stable plain-value contract.
  • debugDescription Skip Optional wrappers do not map directly to one stable plain-value contract.
  • encode Skip Optional wrappers do not map directly to one stable plain-value contract.
  • flatMap Skip Optional wrappers do not map directly to one stable plain-value contract.
  • hash Skip Optional wrappers do not map directly to one stable plain-value contract.
  • init Skip Optional wrappers do not map directly to one stable plain-value contract.
  • none Skip Optional wrappers do not map directly to one stable plain-value contract.
  • some Skip Optional wrappers do not map directly to one stable plain-value contract.
  • take Skip Optional wrappers do not map directly to one stable plain-value contract.
  • unsafelyUnwrapped Skip Optional wrappers do not map directly to one stable plain-value contract.

Triaged as out of scope

AdditiveArithmetic Swift 6.0
0/0 5 skipped
AnyBidirectionalCollection Swift 6.0
0/0 53 skipped
AnyCollection Swift 6.0
0/0 48 skipped
AnyHashable Swift 6.0
0/0 9 skipped
AnyIndex Swift 6.0
0/0 9 skipped
AnyIterator Swift 6.0
0/0 32 skipped
AnyKeyPath Swift 6.0
0/0 8 skipped
AnyRandomAccessCollection Swift 6.0
0/0 53 skipped
AnySequence Swift 6.0
0/0 32 skipped
ArraySlice Swift 6.0
0/0 81 skipped
BidirectionalCollection Swift 6.0
0/0 20 skipped
BinaryFloatingPoint Swift 6.0
0/0 12 skipped
BinaryInteger Swift 6.0
0/0 39 skipped
CaseIterable Swift 6.0
0/0 2 skipped
ClosedRange Swift 6.0
0/0 33 skipped
CodingKey Swift 6.0
0/0 5 skipped
CodingKeyRepresentable Swift 6.0
0/0 2 skipped
CodingUserInfoKey Swift 6.0
0/0 7 skipped
Collection Swift 6.0
0/0 31 skipped
CollectionDifference Swift 6.0
0/0 60 skipped
CollectionOfOne Swift 6.0
0/0 58 skipped
CommandLine Swift 6.0
0/0 3 skipped
Comparable Swift 6.0
0/0 6 skipped
ContiguousArray Swift 6.0
0/0 81 skipped
CustomDebugStringConvertible Swift 6.0
0/0 1 skipped
CustomPlaygroundDisplayConvertible Swift 6.0
0/0 1 skipped
CustomReflectable Swift 6.0
0/0 1 skipped
CustomStringConvertible Swift 6.0
0/0 1 skipped
CVaListPointer Swift 6.0
0/0 1 skipped
Decodable Swift 6.0
0/0 1 skipped
Decoder Swift 6.0
0/0 5 skipped
DecodingError Swift 6.0
0/0 10 skipped
DefaultIndices Swift 6.0
0/0 53 skipped
DefaultStringInterpolation Swift 6.0
0/0 5 skipped
DiscontiguousSlice Swift 6.0
0/0 65 skipped
DropFirstSequence Swift 6.0
0/0 34 skipped
DropWhileSequence Swift 6.0
0/0 33 skipped
Duration Swift 6.0
0/0 26 skipped
DurationProtocol Swift 6.0
0/0 4 skipped
EmptyCollection Swift 6.0
0/0 63 skipped
Encodable Swift 6.0
0/0 1 skipped
Encoder Swift 6.0
0/0 5 skipped
EncodingError Swift 6.0
0/0 6 skipped
EnumeratedSequence Swift 6.0
0/0 32 skipped
Equatable Swift 6.0
0/0 2 skipped
ExpressibleByArrayLiteral Swift 6.0
0/0 2 skipped
ExpressibleByBooleanLiteral Swift 6.0
0/0 2 skipped
ExpressibleByDictionaryLiteral Swift 6.0
0/0 3 skipped
ExpressibleByExtendedGraphemeClusterLiteral Swift 6.0
0/0 2 skipped
ExpressibleByFloatLiteral Swift 6.0
0/0 2 skipped
ExpressibleByIntegerLiteral Swift 6.0
0/0 2 skipped
ExpressibleByNilLiteral Swift 6.0
0/0 1 skipped
ExpressibleByStringInterpolation Swift 6.0
0/0 2 skipped
ExpressibleByStringLiteral Swift 6.0
0/0 2 skipped
ExpressibleByUnicodeScalarLiteral Swift 6.0
0/0 2 skipped
FixedWidthInteger Swift 6.0
0/0 32 skipped
FlattenSequence Swift 6.0
0/0 57 skipped
Float16 Swift 6.0
0/0 89 skipped
FloatingPoint Swift 6.0
0/0 58 skipped
FloatingPointClassification Swift 6.0
0/0 11 skipped
FloatingPointRoundingRule Swift 6.0
0/0 7 skipped
FloatingPointSign Swift 6.0
0/0 8 skipped
Hashable Swift 6.0
0/0 2 skipped
Hasher Swift 6.0
0/0 3 skipped
Identifiable Swift 6.0
0/0 2 skipped
IndexingIterator Swift 6.0
0/0 34 skipped
InstantProtocol Swift 6.0
0/0 3 skipped
Int128 Swift 6.0
0/0 73 skipped
Int16 Swift 6.0
0/0 125 skipped
Int32 Swift 6.0
0/0 125 skipped
Int64 Swift 6.0
0/0 125 skipped
Int8 Swift 6.0
0/0 125 skipped
IteratorProtocol Swift 6.0
0/0 2 skipped
IteratorSequence Swift 6.0
0/0 33 skipped
JoinedSequence Swift 6.0
0/0 34 skipped
KeyedDecodingContainer Swift 6.0
0/0 11 skipped
KeyedDecodingContainerProtocol Swift 6.0
0/0 10 skipped
KeyedEncodingContainer Swift 6.0
0/0 10 skipped
KeyedEncodingContainerProtocol Swift 6.0
0/0 9 skipped
KeyValuePairs Swift 6.0
0/0 49 skipped
LazyCollectionProtocol Swift 6.0
0/0 1 skipped
LazyDropWhileSequence Swift 6.0
0/0 51 skipped
LazyFilterSequence Swift 6.0
0/0 51 skipped
LazyMapSequence Swift 6.0
0/0 52 skipped
LazyPrefixWhileSequence Swift 6.0
0/0 60 skipped
LazySequence Swift 6.0
0/0 51 skipped
LazySequenceProtocol Swift 6.0
0/0 10 skipped
LosslessStringConvertible Swift 6.0
0/0 1 skipped
ManagedBuffer Swift 6.0
0/0 6 skipped
ManagedBufferPointer Swift 6.0
0/0 10 skipped
MemoryLayout Swift 6.0
0/0 4 skipped
Mirror Swift 6.0
0/0 24 skipped
MutableCollection Swift 6.0
0/0 12 skipped
Never Swift 6.0
0/0 9 skipped
Numeric Swift 6.0
0/0 5 skipped
ObjectIdentifier Swift 6.0
0/0 11 skipped
OpaquePointer Swift 6.0
0/0 5 skipped
OptionSet Swift 6.0
0/0 12 skipped
PartialRangeFrom Swift 6.0
0/0 10 skipped
PartialRangeThrough Swift 6.0
0/0 6 skipped
PartialRangeUpTo Swift 6.0
0/0 6 skipped
PrefixSequence Swift 6.0
0/0 34 skipped
RandomAccessCollection Swift 6.0
0/0 11 skipped
RandomNumberGenerator Swift 6.0
0/0 1 skipped
Range Swift 6.0
0/0 27 skipped
RangeExpression Swift 6.0
0/0 4 skipped
RangeReplaceableCollection Swift 6.0
0/0 18 skipped
RangeSet Swift 6.0
0/0 70 skipped
RawRepresentable Swift 6.0
0/0 7 skipped
Repeated Swift 6.0
0/0 46 skipped
Result Swift 6.0
0/0 9 skipped
ReversedCollection Swift 6.0
0/0 60 skipped
Sequence Swift 6.0
0/0 32 skipped
Set Swift 6.0
0/0 79 skipped
SetAlgebra Swift 6.0
0/0 20 skipped
SignedInteger Swift 6.0
0/0 6 skipped
SignedNumeric Swift 6.0
0/0 2 skipped
SIMD Swift 6.0
0/0 61 skipped
SIMD16 Swift 6.0
0/0 68 skipped
SIMD2 Swift 6.0
0/0 66 skipped
SIMD3 Swift 6.0
0/0 67 skipped
SIMD32 Swift 6.0
0/0 68 skipped
SIMD4 Swift 6.0
0/0 72 skipped
SIMD64 Swift 6.0
0/0 68 skipped
SIMD8 Swift 6.0
0/0 68 skipped
SIMDMask Swift 6.0
0/0 23 skipped
SIMDScalar Swift 6.0
0/0 7 skipped
SIMDStorage Swift 6.0
0/0 4 skipped
SingleValueDecodingContainer Swift 6.0
0/0 3 skipped
SingleValueEncodingContainer Swift 6.0
0/0 3 skipped
Slice Swift 6.0
0/0 91 skipped
StaticBigInt Swift 6.0
0/0 6 skipped
StaticString Swift 6.0
0/0 10 skipped
Strideable Swift 6.0
0/0 9 skipped
StrideThrough Swift 6.0
0/0 31 skipped
StrideThroughIterator Swift 6.0
0/0 1 skipped
StrideTo Swift 6.0
0/0 31 skipped
StrideToIterator Swift 6.0
0/0 1 skipped
StringInterpolationProtocol Swift 6.0
0/0 3 skipped
StringProtocol Swift 6.0
0/0 20 skipped
Swift Swift 6.0
0/0 358 skipped
SystemRandomNumberGenerator Swift 6.0
0/0 2 skipped
TextOutputStream Swift 6.0
0/0 1 skipped
TextOutputStreamable Swift 6.0
0/0 1 skipped
UInt Swift 6.0
0/0 124 skipped
UInt128 Swift 6.0
0/0 117 skipped
UInt16 Swift 6.0
0/0 124 skipped
UInt32 Swift 6.0
0/0 124 skipped
UInt64 Swift 6.0
0/0 124 skipped
UInt8 Swift 6.0
0/0 124 skipped
UnboundedRange_ Swift 6.0
0/0 1 skipped
UnfoldSequence Swift 6.0
0/0 31 skipped
Unicode Swift 6.0
0/0 212 skipped
UnicodeCodec Swift 6.0
0/0 3 skipped
UnicodeDecodingResult Swift 6.0
0/0 5 skipped
UnkeyedDecodingContainer Swift 6.0
0/0 10 skipped
UnkeyedEncodingContainer Swift 6.0
0/0 8 skipped
Unmanaged Swift 6.0
0/0 8 skipped
UnsafeBufferPointer Swift 6.0
0/0 55 skipped
UnsafeMutableBufferPointer Swift 6.0
0/0 71 skipped
UnsafeMutablePointer Swift 6.0
0/0 37 skipped
UnsafeMutableRawBufferPointer Swift 6.0
0/0 69 skipped
UnsafeMutableRawPointer Swift 6.0
0/0 36 skipped
UnsafePointer Swift 6.0
0/0 28 skipped
UnsafeRawBufferPointer Swift 6.0
0/0 57 skipped
UnsafeRawPointer Swift 6.0
0/0 30 skipped
UnsignedInteger Swift 6.0
0/0 6 skipped
Zip2Sequence Swift 6.0
0/0 34 skipped