The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of SwiftParsec, reference master (00ae75), with Swift 6.0 for macOS (SPM) on 9 Oct 2024 23:02:21 UTC.

Swift 6 data race errors: 3

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.0.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.55.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/davedufresne/SwiftParsec.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/davedufresne/SwiftParsec
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 00ae75a Release 4.0.1
Cloned https://github.com/davedufresne/SwiftParsec.git
Revision (git rev-parse @):
00ae75a5e9e0fc790056a8b8ebdf2a1833e7117a
SUCCESS checkout https://github.com/davedufresne/SwiftParsec.git at master
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "swiftparsec",
      "name": "SwiftParsec",
      "url": "https://github.com/davedufresne/SwiftParsec.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SwiftParsec",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/davedufresne/SwiftParsec.git
[1/1429] Fetching swiftparsec
Fetched https://github.com/davedufresne/SwiftParsec.git from cache (0.96s)
Creating working copy for https://github.com/davedufresne/SwiftParsec.git
Working copy of https://github.com/davedufresne/SwiftParsec.git resolved at master (00ae75a)
warning: '.resolve-product-dependencies': dependency 'swiftparsec' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/davedufresne/SwiftParsec.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.0.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--4A847ED0836F2485.txt
[3/25] Emitting module SwiftParsec
/Users/admin/builder/spi-builder-workspace/Sources/SwiftParsec/Configuration.swift:24:23: warning: static property 'localizeString' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 |     ///         { NSLocalizedString($0, comment: "") }
23 |     ///
24 |     public static var localizeString: (_ key: String) -> String = { $0 }
   |                       |- warning: static property 'localizeString' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'localizeString' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'localizeString' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |
26 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftParsec/ParseError.swift:125:16: warning: stored property 'position' of 'Sendable'-conforming struct 'ParseError' has non-sendable type 'SourcePosition'; this is an error in the Swift 6 language mode
123 |
124 |     /// Source position of the error.
125 |     public var position: SourcePosition
    |                `- warning: stored property 'position' of 'Sendable'-conforming struct 'ParseError' has non-sendable type 'SourcePosition'; this is an error in the Swift 6 language mode
126 |
127 |     /// Sorted array of error messages.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftParsec/Position.swift:16:15: note: consider making struct 'SourcePosition' conform to the 'Sendable' protocol
 14 | /// is 1, 1. It implements the `Comparable` and `CustomStringConvertible`
 15 | /// protocols. The comparison is made using line and column number.
 16 | public struct SourcePosition: Comparable, CustomStringConvertible {
    |               `- note: consider making struct 'SourcePosition' conform to the 'Sendable' protocol
 17 |
 18 |     /// The name of the source (i.e. file name)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftParsec/ParseError.swift:137:17: warning: stored property '_messages' of 'Sendable'-conforming struct 'ParseError' has non-sendable type '[Message]'; this is an error in the Swift 6 language mode
 17 | ///
 18 | /// The `Comparable` protocol is implemented based on the index of a message.
 19 | public enum Message: Comparable {
    |             `- note: consider making enum 'Message' conform to the 'Sendable' protocol
 20 |
 21 |     /// A `SystemUnexpected` message is automatically generated by the
    :
135 |
136 |     // Backing store for `messages`.
137 |     private var _messages = [Message]()
    |                 `- warning: stored property '_messages' of 'Sendable'-conforming struct 'ParseError' has non-sendable type '[Message]'; this is an error in the Swift 6 language mode
138 |
139 |     /// A textual representation of `self`.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftParsec/Parsec.swift:400:1: warning: extension declares a conformance of imported type 'String' to imported protocol 'ExpressibleByArrayLiteral'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
398 | where ArrayLiteralElement == Element {}
399 |
400 | extension String: Stream {
    | |- warning: extension declares a conformance of imported type 'String' to imported protocol 'ExpressibleByArrayLiteral'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
401 |
402 |     /// Create an instance containing `elements`.
[4/27] Compiling SwiftParsec CharacterConversion.swift
[5/27] Compiling SwiftParsec CharacterMembership.swift
[6/27] Compiling SwiftParsec CharacterParsers.swift
[7/27] Compiling SwiftParsec SequenceConversion.swift
[8/27] Compiling SwiftParsec SetAggregation.swift
[9/27] Compiling SwiftParsec UInt16.swift
[10/27] Compiling SwiftParsec UnicodeScalar.swift
[11/27] Compiling SwiftParsec Permutation.swift
[12/27] Compiling SwiftParsec Position.swift
[13/27] Compiling SwiftParsec ParseError.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftParsec/ParseError.swift:125:16: warning: stored property 'position' of 'Sendable'-conforming struct 'ParseError' has non-sendable type 'SourcePosition'; this is an error in the Swift 6 language mode
123 |
124 |     /// Source position of the error.
125 |     public var position: SourcePosition
    |                `- warning: stored property 'position' of 'Sendable'-conforming struct 'ParseError' has non-sendable type 'SourcePosition'; this is an error in the Swift 6 language mode
126 |
127 |     /// Sorted array of error messages.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftParsec/Position.swift:16:15: note: consider making struct 'SourcePosition' conform to the 'Sendable' protocol
 14 | /// is 1, 1. It implements the `Comparable` and `CustomStringConvertible`
 15 | /// protocols. The comparison is made using line and column number.
 16 | public struct SourcePosition: Comparable, CustomStringConvertible {
    |               `- note: consider making struct 'SourcePosition' conform to the 'Sendable' protocol
 17 |
 18 |     /// The name of the source (i.e. file name)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftParsec/ParseError.swift:137:17: warning: stored property '_messages' of 'Sendable'-conforming struct 'ParseError' has non-sendable type '[Message]'; this is an error in the Swift 6 language mode
 17 | ///
 18 | /// The `Comparable` protocol is implemented based on the index of a message.
 19 | public enum Message: Comparable {
    |             `- note: consider making enum 'Message' conform to the 'Sendable' protocol
 20 |
 21 |     /// A `SystemUnexpected` message is automatically generated by the
    :
135 |
136 |     // Backing store for `messages`.
137 |     private var _messages = [Message]()
    |                 `- warning: stored property '_messages' of 'Sendable'-conforming struct 'ParseError' has non-sendable type '[Message]'; this is an error in the Swift 6 language mode
138 |
139 |     /// A textual representation of `self`.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftParsec/Parsec.swift:400:1: warning: extension declares a conformance of imported type 'String' to imported protocol 'ExpressibleByArrayLiteral'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
398 | where ArrayLiteralElement == Element {}
399 |
400 | extension String: Stream {
    | |- warning: extension declares a conformance of imported type 'String' to imported protocol 'ExpressibleByArrayLiteral'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
401 |
402 |     /// Create an instance containing `elements`.
[14/27] Compiling SwiftParsec Parsec.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftParsec/ParseError.swift:125:16: warning: stored property 'position' of 'Sendable'-conforming struct 'ParseError' has non-sendable type 'SourcePosition'; this is an error in the Swift 6 language mode
123 |
124 |     /// Source position of the error.
125 |     public var position: SourcePosition
    |                `- warning: stored property 'position' of 'Sendable'-conforming struct 'ParseError' has non-sendable type 'SourcePosition'; this is an error in the Swift 6 language mode
126 |
127 |     /// Sorted array of error messages.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftParsec/Position.swift:16:15: note: consider making struct 'SourcePosition' conform to the 'Sendable' protocol
 14 | /// is 1, 1. It implements the `Comparable` and `CustomStringConvertible`
 15 | /// protocols. The comparison is made using line and column number.
 16 | public struct SourcePosition: Comparable, CustomStringConvertible {
    |               `- note: consider making struct 'SourcePosition' conform to the 'Sendable' protocol
 17 |
 18 |     /// The name of the source (i.e. file name)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftParsec/ParseError.swift:137:17: warning: stored property '_messages' of 'Sendable'-conforming struct 'ParseError' has non-sendable type '[Message]'; this is an error in the Swift 6 language mode
 17 | ///
 18 | /// The `Comparable` protocol is implemented based on the index of a message.
 19 | public enum Message: Comparable {
    |             `- note: consider making enum 'Message' conform to the 'Sendable' protocol
 20 |
 21 |     /// A `SystemUnexpected` message is automatically generated by the
    :
135 |
136 |     // Backing store for `messages`.
137 |     private var _messages = [Message]()
    |                 `- warning: stored property '_messages' of 'Sendable'-conforming struct 'ParseError' has non-sendable type '[Message]'; this is an error in the Swift 6 language mode
138 |
139 |     /// A textual representation of `self`.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftParsec/Parsec.swift:400:1: warning: extension declares a conformance of imported type 'String' to imported protocol 'ExpressibleByArrayLiteral'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
398 | where ArrayLiteralElement == Element {}
399 |
400 | extension String: Stream {
    | |- warning: extension declares a conformance of imported type 'String' to imported protocol 'ExpressibleByArrayLiteral'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
401 |
402 |     /// Create an instance containing `elements`.
[15/27] Compiling SwiftParsec RangeReplaceableCollectionInsertion.swift
[16/27] Compiling SwiftParsec SequenceAggregation.swift
[17/27] Compiling SwiftParsec GenericParser.swift
[18/27] Compiling SwiftParsec GenericTokenParser.swift
[19/27] Compiling SwiftParsec LanguageDefinition.swift
[20/27] Compiling SwiftParsec CharacterSet.swift
[21/27] Compiling SwiftParsec CollectionAggregation.swift
[22/27] Compiling SwiftParsec CombinatorParsers.swift
[23/27] Compiling SwiftParsec Configuration.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftParsec/Configuration.swift:24:23: warning: static property 'localizeString' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 |     ///         { NSLocalizedString($0, comment: "") }
23 |     ///
24 |     public static var localizeString: (_ key: String) -> String = { $0 }
   |                       |- warning: static property 'localizeString' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'localizeString' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'localizeString' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |
26 | }
[24/27] Compiling SwiftParsec Either.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftParsec/Configuration.swift:24:23: warning: static property 'localizeString' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 |     ///         { NSLocalizedString($0, comment: "") }
23 |     ///
24 |     public static var localizeString: (_ key: String) -> String = { $0 }
   |                       |- warning: static property 'localizeString' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'localizeString' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'localizeString' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |
26 | }
[25/27] Compiling SwiftParsec ExpressionParser.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftParsec/Configuration.swift:24:23: warning: static property 'localizeString' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 |     ///         { NSLocalizedString($0, comment: "") }
23 |     ///
24 |     public static var localizeString: (_ key: String) -> String = { $0 }
   |                       |- warning: static property 'localizeString' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'localizeString' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'localizeString' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |
26 | }
[26/27] Compiling SwiftParsec String.swift
[27/27] Compiling SwiftParsec TokenParser.swift
Build complete! (11.73s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SwiftParsec",
  "name" : "SwiftParsec",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "SwiftParsec",
      "targets" : [
        "SwiftParsec"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftParsec",
      "module_type" : "SwiftTarget",
      "name" : "SwiftParsec",
      "path" : "Sources/SwiftParsec",
      "product_memberships" : [
        "SwiftParsec"
      ],
      "sources" : [
        "CharacterConversion.swift",
        "CharacterMembership.swift",
        "CharacterParsers.swift",
        "CharacterSet.swift",
        "CollectionAggregation.swift",
        "CombinatorParsers.swift",
        "Configuration.swift",
        "Either.swift",
        "ExpressionParser.swift",
        "GenericParser.swift",
        "GenericTokenParser.swift",
        "LanguageDefinition.swift",
        "ParseError.swift",
        "Parsec.swift",
        "Permutation.swift",
        "Position.swift",
        "RangeReplaceableCollectionInsertion.swift",
        "SequenceAggregation.swift",
        "SequenceConversion.swift",
        "SetAggregation.swift",
        "String.swift",
        "TokenParser.swift",
        "UInt16.swift",
        "UnicodeScalar.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.2"
}
Done.