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 Tips, reference 0.1.0 (aaa427), with Swift 6.0 for macOS (SPM) on 27 Nov 2024 05:10:43 UTC.

Swift 6 data race errors: 1

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.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/unnamedd/swifttips-framework.git
Reference: 0.1.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/unnamedd/swifttips-framework
 * tag               0.1.0      -> FETCH_HEAD
HEAD is now at aaa4278 moved files to modules
Cloned https://github.com/unnamedd/swifttips-framework.git
Revision (git rev-parse @):
aaa4278582c191ea4c426061827c71ac47f55b02
SUCCESS checkout https://github.com/unnamedd/swifttips-framework.git at 0.1.0
========================================
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": "swifttips-framework",
      "name": "Tips",
      "url": "https://github.com/unnamedd/swifttips-framework.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swifttips-framework",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/unnamedd/swifttips-framework.git
[1/126] Fetching swifttips-framework
Fetched https://github.com/unnamedd/swifttips-framework.git from cache (0.69s)
Creating working copy for https://github.com/unnamedd/swifttips-framework.git
Working copy of https://github.com/unnamedd/swifttips-framework.git resolved at 0.1.0 (aaa4278)
warning: 'swifttips-framework': the target name Tips has different case on the filesystem and the Package.swift manifest file
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/unnamedd/swifttips-framework.git
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/7] Write sources
[2/7] Write tips-entitlement.plist
[3/7] Write swift-version--7754E27361AE5C74.txt
[5/13] Compiling TipsCore Tricks.swift
/Users/admin/builder/spi-builder-workspace/Sources/TipsCore/Tricks.swift:11:23: warning: static property 'main' is not concurrency-safe because non-'Sendable' type 'Tricks' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public final class Tricks {
   |                    `- note: class 'Tricks' does not conform to the 'Sendable' protocol
 4 |     // MARK: - Private properties
 5 |     private let regex = "## \\[\\#(?<issue>[0-9]+) (?<title>[^\\]]+)]\\((?<tweet>[^\\)]*)\\)\\n(?<description>[\\s\\S]*?)```swift\\n(?<code>[\\s\\S]*?)\\n```\\n*(?<comments>[^#]+)"
   :
 9 |     public typealias CompletionTips = (_ tips: [Tip]) -> Void
10 |
11 |     public static let main = Tricks(from: .remote)
   |                       |- warning: static property 'main' is not concurrency-safe because non-'Sendable' type 'Tricks' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'main' 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
12 |     var tips: [Tip]?
13 |
/Users/admin/builder/spi-builder-workspace/Sources/TipsCore/Tricks.swift:46:28: warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
44 |         let content = listTips as NSString
45 |
46 |         let tips = results.flatMap { Tip(content, match: $0) }
   |                            |- warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
   |                            `- note: use 'compactMap(_:)' instead
47 |         self.tips = tips
48 |
[6/13] Compiling TipsCore Service.swift
/Users/admin/builder/spi-builder-workspace/Sources/TipsCore/Services/Service.swift:81:17: warning: capture of 'completion' with non-sendable type '(ServiceResult<Data>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
79 |         let task = URLSession.shared.dataTask(with: request) { data, _, error in
80 |             if let error = error {
81 |                 completion(.failure(error))
   |                 |- warning: capture of 'completion' with non-sendable type '(ServiceResult<Data>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
82 |             }
83 |             else if let data = data {
[7/13] Compiling TipsCore GithubService.swift
[8/13] Emitting module TipsCore
/Users/admin/builder/spi-builder-workspace/Sources/TipsCore/Tricks.swift:11:23: warning: static property 'main' is not concurrency-safe because non-'Sendable' type 'Tricks' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public final class Tricks {
   |                    `- note: class 'Tricks' does not conform to the 'Sendable' protocol
 4 |     // MARK: - Private properties
 5 |     private let regex = "## \\[\\#(?<issue>[0-9]+) (?<title>[^\\]]+)]\\((?<tweet>[^\\)]*)\\)\\n(?<description>[\\s\\S]*?)```swift\\n(?<code>[\\s\\S]*?)\\n```\\n*(?<comments>[^#]+)"
   :
 9 |     public typealias CompletionTips = (_ tips: [Tip]) -> Void
10 |
11 |     public static let main = Tricks(from: .remote)
   |                       |- warning: static property 'main' is not concurrency-safe because non-'Sendable' type 'Tricks' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'main' 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
12 |     var tips: [Tip]?
13 |
[9/13] Compiling TipsCore Tip.swift
/Users/admin/builder/spi-builder-workspace/Sources/TipsCore/Models/Tip.swift:67:35: warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
65 |
66 |             if values.count > 0 {
67 |                 comments = values.flatMap({ Comment($0.trimming()) })
   |                                   |- warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
   |                                   `- note: use 'compactMap(_:)' instead
68 |             }
69 |         }
[10/13] Compiling TipsCore Comment.swift
[11/15] Compiling Tips main.swift
[12/15] Emitting module Tips
[12/15] Write Objects.LinkFileList
[13/15] Linking tips
[14/15] Applying tips
Build complete! (8.90s)
warning: 'spi-builder-workspace': the target name Tips has different case on the filesystem and the Package.swift manifest file
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Tips",
  "name" : "Tips",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "tips",
      "targets" : [
        "Tips"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "TipsCore",
      "targets" : [
        "TipsCore"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "TipsTests",
      "module_type" : "SwiftTarget",
      "name" : "TipsTests",
      "path" : "Tests/TipsTests",
      "sources" : [
        "TipsTests.swift"
      ],
      "target_dependencies" : [
        "TipsCore"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TipsCore",
      "module_type" : "SwiftTarget",
      "name" : "TipsCore",
      "path" : "Sources/TipsCore",
      "product_memberships" : [
        "tips",
        "TipsCore"
      ],
      "sources" : [
        "Models/Comment.swift",
        "Models/Tip.swift",
        "Services/GithubService.swift",
        "Services/Service.swift",
        "Tricks.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Tips",
      "module_type" : "SwiftTarget",
      "name" : "Tips",
      "path" : "Sources/Tips",
      "product_memberships" : [
        "tips"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "TipsCore"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "4.0"
}
warning: 'spi-builder-workspace': the target name Tips has different case on the filesystem and the Package.swift manifest file
Done.