Standard Library

The Swift standard library provides the runtime behaviour for all built-in types and protocols. tswift implements these entirely in Rust inside tswift-std. The frontend provides type shapes; tswift-std provides the behaviour.

Legend: ✅ Implemented · 🟡 Partial · ⬜ Missing · 🚫 Out of scope. Member counts are generated by python3 tools/stdlib-inventory/coverage.py --emit-json from the live runtime registry — nothing on this page is hand-typed. Use the search box and status chips below to explore the full member list.

Standard Library71%

363 implemented · 1 partial · 147 missing (511 total)

Array (32)

  • +funcImplemented
  • +=funcImplemented
  • ==funcImplemented
  • appendfuncImplemented
  • capacityvarImplemented
  • countvarImplemented
  • customMirrorvarMissing
  • debugDescriptionvarImplemented
  • descriptionvarImplemented
  • distancefuncImplemented
  • encodefuncImplemented
  • endIndexvarImplemented
  • formIndexfuncMissing
  • hashfuncMissing
  • hashValuevarImplemented
  • indexfuncImplemented
  • initinitImplemented
  • insertfuncImplemented
  • mutableSpanvarMissing
  • removefuncImplemented
  • removeAllfuncImplemented
  • replaceSubrangefuncImplemented
  • reserveCapacityfuncImplemented
  • spanvarMissing
  • startIndexvarImplemented
  • subscriptsubscriptImplemented
  • withContiguousMutableStorageIfAvailablefuncMissing
  • withContiguousStorageIfAvailablefuncMissing
  • withUnsafeBufferPointerfuncMissing
  • withUnsafeBytesfuncMissing
  • withUnsafeMutableBufferPointerfuncMissing
  • withUnsafeMutableBytesfuncMissing

ArraySlice (29)

  • ==funcImplemented
  • appendfuncImplemented
  • capacityvarImplemented
  • countvarImplemented
  • customMirrorvarMissing
  • debugDescriptionvarImplemented
  • descriptionvarImplemented
  • distancefuncImplemented
  • endIndexvarImplemented
  • formIndexfuncMissing
  • hashfuncMissing
  • hashValuevarImplemented
  • indexfuncImplemented
  • initinitMissing
  • insertfuncImplemented
  • mutableSpanvarMissing
  • removefuncImplemented
  • removeAllfuncImplemented
  • replaceSubrangefuncImplemented
  • reserveCapacityfuncImplemented
  • spanvarMissing
  • startIndexvarImplemented
  • subscriptsubscriptImplemented
  • withContiguousMutableStorageIfAvailablefuncMissing
  • withContiguousStorageIfAvailablefuncMissing
  • withUnsafeBufferPointerfuncMissing
  • withUnsafeBytesfuncMissing
  • withUnsafeMutableBufferPointerfuncMissing
  • withUnsafeMutableBytesfuncMissing

Bool (13)

  • !funcPartial
  • &&funcImplemented
  • ==funcImplemented
  • customMirrorvarMissing
  • customPlaygroundQuickLookvarMissing
  • descriptionvarImplemented
  • encodefuncImplemented
  • hashfuncMissing
  • hashValuevarImplemented
  • initinitImplemented
  • randomfuncImplemented
  • togglefuncImplemented
  • ||funcImplemented

ClosedRange (21)

  • <funcImplemented
  • ==funcImplemented
  • clampedfuncImplemented
  • containsfuncImplemented
  • customMirrorvarMissing
  • debugDescriptionvarImplemented
  • descriptionvarImplemented
  • distancefuncImplemented
  • encodefuncMissing
  • endIndexvarImplemented
  • hashfuncMissing
  • hashValuevarImplemented
  • indexfuncImplemented
  • initinitMissing
  • isEmptyvarImplemented
  • lowerBoundletImplemented
  • overlapsfuncImplemented
  • relativefuncMissing
  • startIndexvarImplemented
  • subscriptsubscriptMissing
  • upperBoundletImplemented

CollectionOfOne (12)

  • countvarImplemented
  • customMirrorvarMissing
  • debugDescriptionvarImplemented
  • endIndexvarImplemented
  • indexfuncImplemented
  • initinitMissing
  • makeIteratorfuncImplemented
  • mutableSpanvarMissing
  • nextfuncImplemented
  • spanvarMissing
  • startIndexvarImplemented
  • subscriptsubscriptMissing

ContiguousArray (30)

  • ==funcImplemented
  • appendfuncImplemented
  • capacityvarImplemented
  • countvarImplemented
  • customMirrorvarMissing
  • debugDescriptionvarImplemented
  • descriptionvarImplemented
  • distancefuncImplemented
  • encodefuncImplemented
  • endIndexvarImplemented
  • formIndexfuncMissing
  • hashfuncMissing
  • hashValuevarImplemented
  • indexfuncImplemented
  • initinitImplemented
  • insertfuncImplemented
  • mutableSpanvarMissing
  • removefuncImplemented
  • removeAllfuncImplemented
  • replaceSubrangefuncImplemented
  • reserveCapacityfuncImplemented
  • spanvarMissing
  • startIndexvarImplemented
  • subscriptsubscriptImplemented
  • withContiguousMutableStorageIfAvailablefuncMissing
  • withContiguousStorageIfAvailablefuncMissing
  • withUnsafeBufferPointerfuncMissing
  • withUnsafeBytesfuncMissing
  • withUnsafeMutableBufferPointerfuncMissing
  • withUnsafeMutableBytesfuncMissing

Dictionary (32)

  • <funcMissing
  • ==funcImplemented
  • capacityvarImplemented
  • compactMapValuesfuncImplemented
  • countvarImplemented
  • customMirrorvarMissing
  • debugDescriptionvarImplemented
  • descriptionvarImplemented
  • encodefuncImplemented
  • endIndexvarImplemented
  • filterfuncImplemented
  • formIndexfuncImplemented
  • hashfuncMissing
  • hashValuevarImplemented
  • indexfuncImplemented
  • initinitImplemented
  • isEmptyvarImplemented
  • keysvarImplemented
  • makeIteratorfuncImplemented
  • mapValuesfuncImplemented
  • mergefuncImplemented
  • mergingfuncImplemented
  • nextfuncImplemented
  • popFirstfuncImplemented
  • removefuncImplemented
  • removeAllfuncImplemented
  • removeValuefuncImplemented
  • reserveCapacityfuncImplemented
  • startIndexvarImplemented
  • subscriptsubscriptImplemented
  • updateValuefuncImplemented
  • valuesvarImplemented

Double (59)

  • *funcImplemented
  • *=funcImplemented
  • +funcImplemented
  • +=funcImplemented
  • -funcImplemented
  • -=funcImplemented
  • /funcImplemented
  • /=funcImplemented
  • addProductfuncImplemented
  • advancedfuncImplemented
  • binadevarImplemented
  • bitPatternvarImplemented
  • customMirrorvarMissing
  • customPlaygroundQuickLookvarMissing
  • debugDescriptionvarImplemented
  • descriptionvarImplemented
  • distancefuncImplemented
  • encodefuncMissing
  • exponentvarImplemented
  • exponentBitCountvarImplemented
  • exponentBitPatternvarImplemented
  • formRemainderfuncImplemented
  • formSquareRootfuncImplemented
  • formTruncatingRemainderfuncImplemented
  • greatestFiniteMagnitudevarImplemented
  • hashfuncMissing
  • hashValuevarImplemented
  • infinityvarImplemented
  • initinitMissing
  • isCanonicalvarImplemented
  • isEqualfuncImplemented
  • isFinitevarImplemented
  • isInfinitevarImplemented
  • isLessfuncImplemented
  • isLessThanOrEqualTofuncImplemented
  • isNaNvarImplemented
  • isNormalvarImplemented
  • isSignMinusvarImplemented
  • isSignalingNaNvarImplemented
  • isSubnormalvarImplemented
  • isZerovarImplemented
  • leastNonzeroMagnitudevarImplemented
  • leastNormalMagnitudevarImplemented
  • magnitudevarImplemented
  • nanvarImplemented
  • negatefuncImplemented
  • nextUpvarImplemented
  • pivarImplemented
  • quietNaNvarMissing
  • roundfuncImplemented
  • signvarMissing
  • signalingNaNvarMissing
  • significandvarImplemented
  • significandBitCountvarImplemented
  • significandBitPatternvarImplemented
  • significandWidthvarMissing
  • ulpvarImplemented
  • ulpOfOnevarImplemented
  • writefuncMissing

EmptyCollection (10)

  • ==funcImplemented
  • countvarImplemented
  • distancefuncImplemented
  • endIndexvarImplemented
  • indexfuncImplemented
  • initinitMissing
  • makeIteratorfuncImplemented
  • nextfuncImplemented
  • startIndexvarImplemented
  • subscriptsubscriptMissing

Int (50)

  • !=funcImplemented
  • %funcImplemented
  • %=funcImplemented
  • &funcImplemented
  • &<<funcImplemented
  • &<<=funcMissing
  • &=funcImplemented
  • &>>funcImplemented
  • &>>=funcMissing
  • *funcImplemented
  • *=funcImplemented
  • +funcImplemented
  • +=funcImplemented
  • -funcImplemented
  • -=funcImplemented
  • /funcImplemented
  • /=funcImplemented
  • <funcImplemented
  • <=funcImplemented
  • ==funcImplemented
  • >funcImplemented
  • >=funcImplemented
  • ^funcImplemented
  • ^=funcImplemented
  • addingReportingOverflowfuncImplemented
  • advancedfuncImplemented
  • bitWidthvarImplemented
  • byteSwappedvarImplemented
  • codingKeyvarMissing
  • customMirrorvarMissing
  • customPlaygroundQuickLookvarMissing
  • distancefuncImplemented
  • dividedReportingOverflowfuncImplemented
  • dividingFullWidthfuncImplemented
  • encodefuncMissing
  • hashfuncMissing
  • hashValuevarImplemented
  • initinitMissing
  • leadingZeroBitCountvarImplemented
  • magnitudevarImplemented
  • multipliedFullWidthfuncImplemented
  • multipliedReportingOverflowfuncImplemented
  • nonzeroBitCountvarImplemented
  • remainderReportingOverflowfuncImplemented
  • signumfuncImplemented
  • subtractingReportingOverflowfuncImplemented
  • trailingZeroBitCountvarImplemented
  • wordsvarImplemented
  • |funcImplemented
  • |=funcImplemented

Optional (15)

  • !=funcImplemented
  • ==funcImplemented
  • customMirrorvarMissing
  • debugDescriptionvarMissing
  • encodefuncImplemented
  • flatMapfuncImplemented
  • hashfuncMissing
  • hashValuevarImplemented
  • initinitImplemented
  • mapfuncImplemented
  • nonecaseImplemented
  • somecaseImplemented
  • takefuncImplemented
  • unsafelyUnwrappedvarImplemented
  • ~=funcMissing

Range (21)

  • ==funcImplemented
  • clampedfuncImplemented
  • containsfuncImplemented
  • customMirrorvarMissing
  • debugDescriptionvarImplemented
  • descriptionvarImplemented
  • distancefuncImplemented
  • encodefuncMissing
  • endIndexvarImplemented
  • hashfuncMissing
  • hashValuevarImplemented
  • indexfuncImplemented
  • indicesvarImplemented
  • initinitMissing
  • isEmptyvarImplemented
  • lowerBoundletImplemented
  • overlapsfuncImplemented
  • relativefuncMissing
  • startIndexvarImplemented
  • subscriptsubscriptMissing
  • upperBoundletImplemented

ReversedCollection (12)

  • <funcImplemented
  • ==funcImplemented
  • distancefuncImplemented
  • endIndexvarImplemented
  • hashfuncMissing
  • hashValuevarImplemented
  • indexfuncImplemented
  • makeIteratorfuncImplemented
  • nextfuncMissing
  • reversedfuncImplemented
  • startIndexvarImplemented
  • subscriptsubscriptMissing

Set (42)

  • <funcMissing
  • ==funcImplemented
  • capacityvarImplemented
  • containsfuncImplemented
  • countvarImplemented
  • customMirrorvarMissing
  • debugDescriptionvarMissing
  • descriptionvarImplemented
  • encodefuncMissing
  • endIndexvarImplemented
  • filterfuncImplemented
  • firstIndexfuncImplemented
  • formIndexfuncImplemented
  • formIntersectionfuncImplemented
  • formSymmetricDifferencefuncImplemented
  • formUnionfuncImplemented
  • hashfuncMissing
  • hashValuevarImplemented
  • indexfuncImplemented
  • initinitMissing
  • insertfuncImplemented
  • intersectionfuncImplemented
  • isDisjointfuncImplemented
  • isEmptyvarImplemented
  • isStrictSubsetfuncImplemented
  • isStrictSupersetfuncImplemented
  • isSubsetfuncImplemented
  • isSupersetfuncImplemented
  • makeIteratorfuncImplemented
  • nextfuncImplemented
  • popFirstfuncImplemented
  • removefuncImplemented
  • removeAllfuncImplemented
  • removeFirstfuncImplemented
  • reserveCapacityfuncImplemented
  • startIndexvarImplemented
  • subscriptsubscriptMissing
  • subtractfuncImplemented
  • subtractingfuncImplemented
  • symmetricDifferencefuncImplemented
  • unionfuncImplemented
  • updatefuncImplemented

String (53)

  • +funcImplemented
  • +=funcImplemented
  • <funcImplemented
  • ==funcImplemented
  • appendfuncImplemented
  • charactersvarMissing
  • codingKeyvarMissing
  • countvarImplemented
  • customMirrorvarMissing
  • customPlaygroundQuickLookvarMissing
  • debugDescriptionvarImplemented
  • decodeCStringfuncMissing
  • descriptionvarImplemented
  • distancefuncImplemented
  • encodefuncMissing
  • encodedOffsetvarMissing
  • endIndexvarImplemented
  • hasPrefixfuncImplemented
  • hasSuffixfuncImplemented
  • hashfuncMissing
  • hashValuevarImplemented
  • indexfuncImplemented
  • initinitMissing
  • insertfuncImplemented
  • isContiguousUTF8varMissing
  • isEmptyvarImplemented
  • lowercasedfuncImplemented
  • makeContiguousUTF8funcMissing
  • makeIteratorfuncMissing
  • maxfuncImplemented
  • minfuncImplemented
  • removefuncImplemented
  • removeAllfuncImplemented
  • removeSubrangefuncImplemented
  • replaceSubrangefuncImplemented
  • reserveCapacityfuncImplemented
  • samePositionfuncMissing
  • spanvarMissing
  • startIndexvarImplemented
  • subscriptsubscriptMissing
  • unicodeScalarsvarImplemented
  • uppercasedfuncImplemented
  • utf16varImplemented
  • utf16OffsetfuncMissing
  • utf8varImplemented
  • utf8CStringvarMissing
  • utf8SpanvarMissing
  • withCStringfuncMissing
  • withContiguousStorageIfAvailablefuncMissing
  • withMutableCharactersfuncMissing
  • withUTF8funcMissing
  • writefuncMissing
  • ~=funcMissing

Substring (33)

  • appendfuncImplemented
  • basevarImplemented
  • charactersvarImplemented
  • customMirrorvarMissing
  • customPlaygroundQuickLookvarMissing
  • debugDescriptionvarImplemented
  • descriptionvarImplemented
  • distancefuncImplemented
  • endIndexvarImplemented
  • filterfuncImplemented
  • formIndexfuncMissing
  • hashValuevarImplemented
  • indexfuncImplemented
  • indicesvarMissing
  • initinitMissing
  • isContiguousUTF8varImplemented
  • lowercasedfuncImplemented
  • makeContiguousUTF8funcImplemented
  • replaceSubrangefuncImplemented
  • spanvarMissing
  • startIndexvarImplemented
  • subscriptsubscriptMissing
  • unicodeScalarsvarImplemented
  • uppercasedfuncImplemented
  • utf16varImplemented
  • utf8varImplemented
  • utf8SpanvarMissing
  • withCStringfuncMissing
  • withContiguousStorageIfAvailablefuncMissing
  • withMutableCharactersfuncMissing
  • withUTF8funcMissing
  • writefuncMissing
  • ~=funcMissing

(free functions) (47)

  • !=funcImplemented
  • !==funcImplemented
  • %funcImplemented
  • %=funcImplemented
  • <funcImplemented
  • <=funcImplemented
  • ==funcImplemented
  • ===funcImplemented
  • >funcImplemented
  • >=funcImplemented
  • absfuncImplemented
  • allfuncMissing
  • anyfuncMissing
  • assertfuncImplemented
  • assertionFailurefuncImplemented
  • debugPrintfuncImplemented
  • dumpfuncImplemented
  • exchangefuncMissing
  • extendLifetimefuncMissing
  • fatalErrorfuncImplemented
  • getVaListfuncMissing
  • isKnownUniquelyReferencedfuncMissing
  • maxfuncImplemented
  • minfuncImplemented
  • numericCastfuncImplemented
  • pointwiseMaxfuncMissing
  • pointwiseMinfuncMissing
  • preconditionfuncImplemented
  • preconditionFailurefuncImplemented
  • printfuncImplemented
  • readLinefuncImplemented
  • repeatElementfuncImplemented
  • sequencefuncImplemented
  • stridefuncImplemented
  • swapfuncImplemented
  • transcodefuncMissing
  • unsafeBitCastfuncMissing
  • unsafeDowncastfuncMissing
  • withExtendedLifetimefuncMissing
  • withUnsafeBytesfuncMissing
  • withUnsafeMutableBytesfuncMissing
  • withUnsafeMutablePointerfuncMissing
  • withUnsafePointerfuncMissing
  • withUnsafeTemporaryAllocationfuncMissing
  • withVaListfuncMissing
  • zipfuncImplemented
  • ~=funcImplemented

Known divergences

Documented honestly rather than papered over:

What’s next

  1. Remaining String members — UTF-8/UTF-16 view APIs, unicodeScalars.
  2. Collection conformances for custom types — custom types in for-in, count, index subscripting.
  3. AsyncSequencefor await over custom types.

To see how these map to GitHub issues, visit the issue tracker.