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 Freddy, reference 3.0.58 (e8d1f5), with Swift 6.0 for macOS (SPM) on 30 Nov 2024 11:21:14 UTC.

Swift 6 data race errors: 7

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.58.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/modswift/Freddy.git
Reference: 3.0.58
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/modswift/Freddy
 * tag               3.0.58     -> FETCH_HEAD
HEAD is now at e8d1f56 Adjust for Swift 4/5 changes
Cloned https://github.com/modswift/Freddy.git
Revision (git rev-parse @):
e8d1f5600d1f72c2159b94dd9916cd15a11f68d3
SUCCESS checkout https://github.com/modswift/Freddy.git at 3.0.58
========================================
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": "freddy",
      "name": "Freddy",
      "url": "https://github.com/modswift/Freddy.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Freddy",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/modswift/Freddy.git
[1/2937] Fetching freddy
Fetched https://github.com/modswift/Freddy.git from cache (1.20s)
Creating working copy for https://github.com/modswift/Freddy.git
Working copy of https://github.com/modswift/Freddy.git resolved at 3.0.58 (e8d1f56)
warning: '.resolve-product-dependencies': dependency 'freddy' 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/modswift/Freddy.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Freddy",
  "name" : "Freddy",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Freddy",
      "targets" : [
        "Freddy"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "Freddy",
      "module_type" : "SwiftTarget",
      "name" : "Freddy",
      "path" : "Sources/Freddy",
      "product_memberships" : [
        "Freddy"
      ],
      "sources" : [
        "JSON.swift",
        "JSONDecodable.swift",
        "JSONEncodable.swift",
        "JSONEncodingDetector.swift",
        "JSONLiteralConvertible.swift",
        "JSONOptional.swift",
        "JSONParser.swift",
        "JSONParsing.swift",
        "JSONSerializing.swift",
        "JSONSubscripting.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
[3/12] Compiling Freddy JSONSerializing.swift
/Users/admin/builder/spi-builder-workspace/Sources/Freddy/JSONSerializing.swift:18:23: warning: static property 'nullSkipsKey' is not concurrency-safe because non-'Sendable' type 'SerializeOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 8 | /// * `.nullSkipsKey` - Skip keys with `null` values so the key is not included
 9 | /// in the serialized json
10 | public struct SerializeOptions: OptionSet {
   |               `- note: consider making struct 'SerializeOptions' conform to the 'Sendable' protocol
11 |     public let rawValue: Int
12 |     public init(rawValue: Int) {
   :
16 |     /// Skip keys with `null` values so the key is not included
17 |     /// in the serialized json
18 |     public static let nullSkipsKey = SerializeOptions(rawValue: 1 << 0)
   |                       |- warning: static property 'nullSkipsKey' is not concurrency-safe because non-'Sendable' type 'SerializeOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'nullSkipsKey' 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
19 | }
20 |
[4/13] Compiling Freddy JSONParsing.swift
[5/13] Compiling Freddy JSONOptional.swift
[6/13] Compiling Freddy JSON.swift
/Users/admin/builder/spi-builder-workspace/Sources/Freddy/JSON.swift:43:14: warning: associated value 'valueNotConvertible(value:to:)' of 'Sendable'-conforming enum 'Error' has non-sendable type 'JSON'; this is an error in the Swift 6 language mode
 8 |
 9 | /// An enum to describe the structure of JSON.
10 | public enum JSON {
   |             `- note: consider making enum 'JSON' conform to the 'Sendable' protocol
11 |     /// A case for denoting an array with an associated value of `[JSON]`
12 |     case array([JSON])
   :
41 |
42 |         /// Unexpected JSON `value` was found that is not convertible `to` type
43 |         case valueNotConvertible(value: JSON, to: Any.Type)
   |              `- warning: associated value 'valueNotConvertible(value:to:)' of 'Sendable'-conforming enum 'Error' has non-sendable type 'JSON'; this is an error in the Swift 6 language mode
44 |
45 |         /// The JSON is not serializable to a `String`.
[7/13] Emitting module Freddy
/Users/admin/builder/spi-builder-workspace/Sources/Freddy/JSON.swift:43:14: warning: associated value 'valueNotConvertible(value:to:)' of 'Sendable'-conforming enum 'Error' has non-sendable type 'JSON'; this is an error in the Swift 6 language mode
 8 |
 9 | /// An enum to describe the structure of JSON.
10 | public enum JSON {
   |             `- note: consider making enum 'JSON' conform to the 'Sendable' protocol
11 |     /// A case for denoting an array with an associated value of `[JSON]`
12 |     case array([JSON])
   :
41 |
42 |         /// Unexpected JSON `value` was found that is not convertible `to` type
43 |         case valueNotConvertible(value: JSON, to: Any.Type)
   |              `- warning: associated value 'valueNotConvertible(value:to:)' of 'Sendable'-conforming enum 'Error' has non-sendable type 'JSON'; this is an error in the Swift 6 language mode
44 |
45 |         /// The JSON is not serializable to a `String`.
/Users/admin/builder/spi-builder-workspace/Sources/Freddy/JSONEncodingDetector.swift:27:23: warning: static property 'supportedEncodings' is not concurrency-safe because non-'Sendable' type '[JSONEncodingDetector.Encoding]' may have shared mutable state; this is an error in the Swift 6 language mode
 11 |
 12 |     //// The Unicode encodings looked for during detection
 13 |     public enum Encoding {
    |                 `- note: consider making enum 'Encoding' conform to the 'Sendable' protocol
 14 |         //// UTF-8
 15 |         case utf8
    :
 25 |
 26 |     //// The Unicode encodings supported by JSONParser.swift
 27 |     public static let supportedEncodings: [Encoding] = [.utf8]
    |                       |- warning: static property 'supportedEncodings' is not concurrency-safe because non-'Sendable' type '[JSONEncodingDetector.Encoding]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'supportedEncodings' 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
 28 |
 29 |     typealias ByteStreamPrefixInformation = (encoding: Encoding, byteOrderMarkLength: Int)
/Users/admin/builder/spi-builder-workspace/Sources/Freddy/JSONParser.swift:934:14: warning: associated value 'invalidUnicodeStreamEncoding(detectedEncoding:)' of 'Sendable'-conforming enum 'Error' has non-sendable type 'JSONEncodingDetector.Encoding'; this is an error in the Swift 6 language mode
932 |
933 |         /// Supplied data is encoded in an unsupported format.
934 |         case invalidUnicodeStreamEncoding(detectedEncoding: JSONEncodingDetector.Encoding)
    |              `- warning: associated value 'invalidUnicodeStreamEncoding(detectedEncoding:)' of 'Sendable'-conforming enum 'Error' has non-sendable type 'JSONEncodingDetector.Encoding'; this is an error in the Swift 6 language mode
935 |     }
936 |
/Users/admin/builder/spi-builder-workspace/Sources/Freddy/JSONEncodingDetector.swift:13:17: note: consider making enum 'Encoding' conform to the 'Sendable' protocol
 11 |
 12 |     //// The Unicode encodings looked for during detection
 13 |     public enum Encoding {
    |                 `- note: consider making enum 'Encoding' conform to the 'Sendable' protocol
 14 |         //// UTF-8
 15 |         case utf8
/Users/admin/builder/spi-builder-workspace/Sources/Freddy/JSONSerializing.swift:18:23: warning: static property 'nullSkipsKey' is not concurrency-safe because non-'Sendable' type 'SerializeOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 8 | /// * `.nullSkipsKey` - Skip keys with `null` values so the key is not included
 9 | /// in the serialized json
10 | public struct SerializeOptions: OptionSet {
   |               `- note: consider making struct 'SerializeOptions' conform to the 'Sendable' protocol
11 |     public let rawValue: Int
12 |     public init(rawValue: Int) {
   :
16 |     /// Skip keys with `null` values so the key is not included
17 |     /// in the serialized json
18 |     public static let nullSkipsKey = SerializeOptions(rawValue: 1 << 0)
   |                       |- warning: static property 'nullSkipsKey' is not concurrency-safe because non-'Sendable' type 'SerializeOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'nullSkipsKey' 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
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/Freddy/JSONSubscripting.swift:86:14: warning: associated value 'subscriptIntoNull' of 'Sendable'-conforming enum 'SubscriptError' has non-sendable type 'any JSONPathType'; this is an error in the Swift 6 language mode
 13 | /// A custom type, such as a `RawRepresentable` enum, may be made to conform to `JSONPathType`
 14 | /// and used with the subscript APIs.
 15 | public protocol JSONPathType {
    |                 `- note: protocol 'JSONPathType' does not conform to the 'Sendable' protocol
 16 |     /// Use `self` to key into a `dictionary`.
 17 |     ///
    :
 84 |
 85 |     enum SubscriptError: Swift.Error {
 86 |         case subscriptIntoNull(JSONPathType)
    |              `- warning: associated value 'subscriptIntoNull' of 'Sendable'-conforming enum 'SubscriptError' has non-sendable type 'any JSONPathType'; this is an error in the Swift 6 language mode
 87 |     }
 88 |
/Users/admin/builder/spi-builder-workspace/Sources/Freddy/JSONSubscripting.swift:247:27: warning: static property 'nullBecomesNil' is not concurrency-safe because non-'Sendable' type 'JSON.SubscriptingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
238 |     /// * `.nullBecomesNil` - Treat `null` values as `nil`.
239 |     /// * `.missingKeyBecomesNil` - Treat missing keys as `nil`.
240 |     public struct SubscriptingOptions: OptionSet {
    |                   `- note: consider making struct 'SubscriptingOptions' conform to the 'Sendable' protocol
241 |         public let rawValue: Int
242 |         public init(rawValue: Int) {
    :
245 |
246 |         /// Treat `null` values as `nil`.
247 |         public static let nullBecomesNil = SubscriptingOptions(rawValue: 1 << 0)
    |                           |- warning: static property 'nullBecomesNil' is not concurrency-safe because non-'Sendable' type 'JSON.SubscriptingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'nullBecomesNil' 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
248 |         /// Treat missing keys as `nil`.
249 |         public static let missingKeyBecomesNil = SubscriptingOptions(rawValue: 1 << 1)
/Users/admin/builder/spi-builder-workspace/Sources/Freddy/JSONSubscripting.swift:249:27: warning: static property 'missingKeyBecomesNil' is not concurrency-safe because non-'Sendable' type 'JSON.SubscriptingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
238 |     /// * `.nullBecomesNil` - Treat `null` values as `nil`.
239 |     /// * `.missingKeyBecomesNil` - Treat missing keys as `nil`.
240 |     public struct SubscriptingOptions: OptionSet {
    |                   `- note: consider making struct 'SubscriptingOptions' conform to the 'Sendable' protocol
241 |         public let rawValue: Int
242 |         public init(rawValue: Int) {
    :
247 |         public static let nullBecomesNil = SubscriptingOptions(rawValue: 1 << 0)
248 |         /// Treat missing keys as `nil`.
249 |         public static let missingKeyBecomesNil = SubscriptingOptions(rawValue: 1 << 1)
    |                           |- warning: static property 'missingKeyBecomesNil' is not concurrency-safe because non-'Sendable' type 'JSON.SubscriptingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'missingKeyBecomesNil' 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
250 |     }
251 |
[8/13] Compiling Freddy JSONDecodable.swift
[9/13] Compiling Freddy JSONEncodable.swift
[10/13] Compiling Freddy JSONLiteralConvertible.swift
[11/13] Compiling Freddy JSONEncodingDetector.swift
/Users/admin/builder/spi-builder-workspace/Sources/Freddy/JSONEncodingDetector.swift:27:23: warning: static property 'supportedEncodings' is not concurrency-safe because non-'Sendable' type '[JSONEncodingDetector.Encoding]' may have shared mutable state; this is an error in the Swift 6 language mode
 11 |
 12 |     //// The Unicode encodings looked for during detection
 13 |     public enum Encoding {
    |                 `- note: consider making enum 'Encoding' conform to the 'Sendable' protocol
 14 |         //// UTF-8
 15 |         case utf8
    :
 25 |
 26 |     //// The Unicode encodings supported by JSONParser.swift
 27 |     public static let supportedEncodings: [Encoding] = [.utf8]
    |                       |- warning: static property 'supportedEncodings' is not concurrency-safe because non-'Sendable' type '[JSONEncodingDetector.Encoding]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'supportedEncodings' 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
 28 |
 29 |     typealias ByteStreamPrefixInformation = (encoding: Encoding, byteOrderMarkLength: Int)
[12/13] Compiling Freddy JSONParser.swift
/Users/admin/builder/spi-builder-workspace/Sources/Freddy/JSONParser.swift:934:14: warning: associated value 'invalidUnicodeStreamEncoding(detectedEncoding:)' of 'Sendable'-conforming enum 'Error' has non-sendable type 'JSONEncodingDetector.Encoding'; this is an error in the Swift 6 language mode
932 |
933 |         /// Supplied data is encoded in an unsupported format.
934 |         case invalidUnicodeStreamEncoding(detectedEncoding: JSONEncodingDetector.Encoding)
    |              `- warning: associated value 'invalidUnicodeStreamEncoding(detectedEncoding:)' of 'Sendable'-conforming enum 'Error' has non-sendable type 'JSONEncodingDetector.Encoding'; this is an error in the Swift 6 language mode
935 |     }
936 |
/Users/admin/builder/spi-builder-workspace/Sources/Freddy/JSONEncodingDetector.swift:13:17: note: consider making enum 'Encoding' conform to the 'Sendable' protocol
 11 |
 12 |     //// The Unicode encodings looked for during detection
 13 |     public enum Encoding {
    |                 `- note: consider making enum 'Encoding' conform to the 'Sendable' protocol
 14 |         //// UTF-8
 15 |         case utf8
/Users/admin/builder/spi-builder-workspace/Sources/Freddy/JSONEncodingDetector.swift:27:23: warning: static property 'supportedEncodings' is not concurrency-safe because non-'Sendable' type '[JSONEncodingDetector.Encoding]' may have shared mutable state; this is an error in the Swift 6 language mode
 11 |
 12 |     //// The Unicode encodings looked for during detection
 13 |     public enum Encoding {
    |                 `- note: consider making enum 'Encoding' conform to the 'Sendable' protocol
 14 |         //// UTF-8
 15 |         case utf8
    :
 25 |
 26 |     //// The Unicode encodings supported by JSONParser.swift
 27 |     public static let supportedEncodings: [Encoding] = [.utf8]
    |                       |- warning: static property 'supportedEncodings' is not concurrency-safe because non-'Sendable' type '[JSONEncodingDetector.Encoding]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'supportedEncodings' 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
 28 |
 29 |     typealias ByteStreamPrefixInformation = (encoding: Encoding, byteOrderMarkLength: Int)
[13/13] Compiling Freddy JSONSubscripting.swift
/Users/admin/builder/spi-builder-workspace/Sources/Freddy/JSONSubscripting.swift:86:14: warning: associated value 'subscriptIntoNull' of 'Sendable'-conforming enum 'SubscriptError' has non-sendable type 'any JSONPathType'; this is an error in the Swift 6 language mode
 13 | /// A custom type, such as a `RawRepresentable` enum, may be made to conform to `JSONPathType`
 14 | /// and used with the subscript APIs.
 15 | public protocol JSONPathType {
    |                 `- note: protocol 'JSONPathType' does not conform to the 'Sendable' protocol
 16 |     /// Use `self` to key into a `dictionary`.
 17 |     ///
    :
 84 |
 85 |     enum SubscriptError: Swift.Error {
 86 |         case subscriptIntoNull(JSONPathType)
    |              `- warning: associated value 'subscriptIntoNull' of 'Sendable'-conforming enum 'SubscriptError' has non-sendable type 'any JSONPathType'; this is an error in the Swift 6 language mode
 87 |     }
 88 |
/Users/admin/builder/spi-builder-workspace/Sources/Freddy/JSONSubscripting.swift:247:27: warning: static property 'nullBecomesNil' is not concurrency-safe because non-'Sendable' type 'JSON.SubscriptingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
238 |     /// * `.nullBecomesNil` - Treat `null` values as `nil`.
239 |     /// * `.missingKeyBecomesNil` - Treat missing keys as `nil`.
240 |     public struct SubscriptingOptions: OptionSet {
    |                   `- note: consider making struct 'SubscriptingOptions' conform to the 'Sendable' protocol
241 |         public let rawValue: Int
242 |         public init(rawValue: Int) {
    :
245 |
246 |         /// Treat `null` values as `nil`.
247 |         public static let nullBecomesNil = SubscriptingOptions(rawValue: 1 << 0)
    |                           |- warning: static property 'nullBecomesNil' is not concurrency-safe because non-'Sendable' type 'JSON.SubscriptingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'nullBecomesNil' 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
248 |         /// Treat missing keys as `nil`.
249 |         public static let missingKeyBecomesNil = SubscriptingOptions(rawValue: 1 << 1)
/Users/admin/builder/spi-builder-workspace/Sources/Freddy/JSONSubscripting.swift:249:27: warning: static property 'missingKeyBecomesNil' is not concurrency-safe because non-'Sendable' type 'JSON.SubscriptingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
238 |     /// * `.nullBecomesNil` - Treat `null` values as `nil`.
239 |     /// * `.missingKeyBecomesNil` - Treat missing keys as `nil`.
240 |     public struct SubscriptingOptions: OptionSet {
    |                   `- note: consider making struct 'SubscriptingOptions' conform to the 'Sendable' protocol
241 |         public let rawValue: Int
242 |         public init(rawValue: Int) {
    :
247 |         public static let nullBecomesNil = SubscriptingOptions(rawValue: 1 << 0)
248 |         /// Treat missing keys as `nil`.
249 |         public static let missingKeyBecomesNil = SubscriptingOptions(rawValue: 1 << 1)
    |                           |- warning: static property 'missingKeyBecomesNil' is not concurrency-safe because non-'Sendable' type 'JSON.SubscriptingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'missingKeyBecomesNil' 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
250 |     }
251 |
Build complete! (12.84s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Freddy",
  "name" : "Freddy",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Freddy",
      "targets" : [
        "Freddy"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "Freddy",
      "module_type" : "SwiftTarget",
      "name" : "Freddy",
      "path" : "Sources/Freddy",
      "product_memberships" : [
        "Freddy"
      ],
      "sources" : [
        "JSON.swift",
        "JSONDecodable.swift",
        "JSONEncodable.swift",
        "JSONEncodingDetector.swift",
        "JSONLiteralConvertible.swift",
        "JSONOptional.swift",
        "JSONParser.swift",
        "JSONParsing.swift",
        "JSONSerializing.swift",
        "JSONSubscripting.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
Done.