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 Crossroad, reference 4.2.0 (7f5d9b), with Swift 6.0 for macOS (SPM) on 2 Nov 2024 10:33:55 UTC.

Swift 6 data race errors: 8

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

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/giginet/Crossroad.git
Reference: 4.2.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/giginet/Crossroad
 * tag               4.2.0      -> FETCH_HEAD
HEAD is now at 7f5d9bc Bump up version
Cloned https://github.com/giginet/Crossroad.git
Revision (git rev-parse @):
7f5d9bc64a901b7b9c09140dd30e95dfa8e4e6fb
SUCCESS checkout https://github.com/giginet/Crossroad.git at 4.2.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": "crossroad",
      "name": "Crossroad",
      "url": "https://github.com/giginet/Crossroad.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Crossroad",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/giginet/Crossroad.git
[1/2103] Fetching crossroad
Fetched https://github.com/giginet/Crossroad.git from cache (1.59s)
Creating working copy for https://github.com/giginet/Crossroad.git
Working copy of https://github.com/giginet/Crossroad.git resolved at 4.2.0 (7f5d9bc)
warning: '.resolve-product-dependencies': dependency 'crossroad' 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/giginet/Crossroad.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
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
[3/12] Compiling Crossroad Utils.swift
[4/13] Emitting module Crossroad
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Validator.swift:9:23: warning: generic parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
  7 | extension Router {
  8 |     private struct UnknownLinkSourceRule: ValidationRule {
  9 |         func validate<UserInfo>(for router: Router<UserInfo>) throws {
    |                       `- warning: generic parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 10 |             for route in router.routes {
 11 |                 guard case let .only(acceptSources) = route.acceptPolicy else {
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Router.swift:5:27: note: 'UserInfo' previously declared here
  3 | public typealias SimpleRouter = Router<Void>
  4 |
  5 | public final class Router<UserInfo> {
    |                           `- note: 'UserInfo' previously declared here
  6 |     public typealias Route = Crossroad.Route<UserInfo>
  7 |
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Validator.swift:23:23: warning: generic parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 21 |
 22 |     private struct DuplicatedRouteRule: ValidationRule {
 23 |         func validate<UserInfo>(for router: Router<UserInfo>) throws {
    |                       `- warning: generic parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 24 |             for route in router.routes {
 25 |                 let acceptSources: Set<LinkSource>
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Router.swift:5:27: note: 'UserInfo' previously declared here
  3 | public typealias SimpleRouter = Router<Void>
  4 |
  5 | public final class Router<UserInfo> {
    |                           `- note: 'UserInfo' previously declared here
  6 |     public typealias Route = Crossroad.Route<UserInfo>
  7 |
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Validator.swift:49:23: warning: generic parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 47 |
 48 |     private struct InvalidLinkSourceRule: ValidationRule {
 49 |         func validate<UserInfo>(for router: Router<UserInfo>) throws {
    |                       `- warning: generic parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 50 |             for route in router.routes {
 51 |                 guard let patternLinkSource = route.pattern.linkSource else {
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Router.swift:5:27: note: 'UserInfo' previously declared here
  3 | public typealias SimpleRouter = Router<Void>
  4 |
  5 | public final class Router<UserInfo> {
    |                           `- note: 'UserInfo' previously declared here
  6 |     public typealias Route = Crossroad.Route<UserInfo>
  7 |
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Validator.swift:73:23: warning: generic parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 71 |
 72 |     private struct InvalidUniversalLinkSourceRule: ValidationRule {
 73 |         func validate<UserInfo>(for router: Router<UserInfo>) throws {
    |                       `- warning: generic parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 74 |             for linkSource in router.linkSources {
 75 |                 switch linkSource {
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Router.swift:5:27: note: 'UserInfo' previously declared here
  3 | public typealias SimpleRouter = Router<Void>
  4 |
  5 | public final class Router<UserInfo> {
    |                           `- note: 'UserInfo' previously declared here
  6 |     public typealias Route = Crossroad.Route<UserInfo>
  7 |
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Validator.swift:104:23: warning: generic parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
102 |         ]
103 |
104 |         func validate<UserInfo>(for router: Router<UserInfo>) throws {
    |                       `- warning: generic parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
105 |             for linkSource in router.linkSources {
106 |                 switch linkSource {
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Router.swift:5:27: note: 'UserInfo' previously declared here
  3 | public typealias SimpleRouter = Router<Void>
  4 |
  5 | public final class Router<UserInfo> {
    |                           `- note: 'UserInfo' previously declared here
  6 |     public typealias Route = Crossroad.Route<UserInfo>
  7 |
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Validator.swift:122:14: warning: associated value 'unknownLinkSource' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'LinkSource'; this is an error in the Swift 6 language mode
120 |
121 |     public enum ValidationError: LocalizedError {
122 |         case unknownLinkSource(Set<LinkSource>)
    |              `- warning: associated value 'unknownLinkSource' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'LinkSource'; this is an error in the Swift 6 language mode
123 |         case duplicatedRoute(String, Route.AcceptPolicy)
124 |         case invalidLinkSource(String, LinkSource)
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Pattern.swift:3:13: note: consider making enum 'LinkSource' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public enum LinkSource: Hashable, CustomStringConvertible {
    |             `- note: consider making enum 'LinkSource' conform to the 'Sendable' protocol
  4 |     case customURLScheme(String)
  5 |     case universalLink(URL)
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Validator.swift:123:14: warning: associated value 'duplicatedRoute' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'Router<UserInfo>.Route.AcceptPolicy' (aka 'Route<UserInfo>.AcceptPolicy'); this is an error in the Swift 6 language mode
121 |     public enum ValidationError: LocalizedError {
122 |         case unknownLinkSource(Set<LinkSource>)
123 |         case duplicatedRoute(String, Route.AcceptPolicy)
    |              `- warning: associated value 'duplicatedRoute' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'Router<UserInfo>.Route.AcceptPolicy' (aka 'Route<UserInfo>.AcceptPolicy'); this is an error in the Swift 6 language mode
124 |         case invalidLinkSource(String, LinkSource)
125 |         case invalidSchemeLinkSource(String)
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Route.swift:9:17: note: consider making enum 'AcceptPolicy' conform to the 'Sendable' protocol
 7 |     var handler: Handler
 8 |
 9 |     public enum AcceptPolicy: Equatable {
   |                 `- note: consider making enum 'AcceptPolicy' conform to the 'Sendable' protocol
10 |         case any
11 |         case only(for: Set<LinkSource>)
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Validator.swift:124:14: warning: associated value 'invalidLinkSource' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'LinkSource'; this is an error in the Swift 6 language mode
122 |         case unknownLinkSource(Set<LinkSource>)
123 |         case duplicatedRoute(String, Route.AcceptPolicy)
124 |         case invalidLinkSource(String, LinkSource)
    |              `- warning: associated value 'invalidLinkSource' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'LinkSource'; this is an error in the Swift 6 language mode
125 |         case invalidSchemeLinkSource(String)
126 |         case wellKnownScheme(String)
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Pattern.swift:3:13: note: consider making enum 'LinkSource' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public enum LinkSource: Hashable, CustomStringConvertible {
    |             `- note: consider making enum 'LinkSource' conform to the 'Sendable' protocol
  4 |     case customURLScheme(String)
  5 |     case universalLink(URL)
[5/13] Compiling Crossroad ContextParser.swift
[6/13] Compiling Crossroad DSL.swift
[7/13] Compiling Crossroad OpenURLOption.swift
[8/13] Compiling Crossroad Parsable.swift
[9/13] Compiling Crossroad Route.swift
[10/13] Compiling Crossroad Router.swift
[11/13] Compiling Crossroad Pattern.swift
[12/13] Compiling Crossroad Context.swift
[13/13] Compiling Crossroad Validator.swift
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Validator.swift:9:23: warning: generic parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
  7 | extension Router {
  8 |     private struct UnknownLinkSourceRule: ValidationRule {
  9 |         func validate<UserInfo>(for router: Router<UserInfo>) throws {
    |                       `- warning: generic parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 10 |             for route in router.routes {
 11 |                 guard case let .only(acceptSources) = route.acceptPolicy else {
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Router.swift:5:27: note: 'UserInfo' previously declared here
  3 | public typealias SimpleRouter = Router<Void>
  4 |
  5 | public final class Router<UserInfo> {
    |                           `- note: 'UserInfo' previously declared here
  6 |     public typealias Route = Crossroad.Route<UserInfo>
  7 |
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Validator.swift:23:23: warning: generic parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 21 |
 22 |     private struct DuplicatedRouteRule: ValidationRule {
 23 |         func validate<UserInfo>(for router: Router<UserInfo>) throws {
    |                       `- warning: generic parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 24 |             for route in router.routes {
 25 |                 let acceptSources: Set<LinkSource>
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Router.swift:5:27: note: 'UserInfo' previously declared here
  3 | public typealias SimpleRouter = Router<Void>
  4 |
  5 | public final class Router<UserInfo> {
    |                           `- note: 'UserInfo' previously declared here
  6 |     public typealias Route = Crossroad.Route<UserInfo>
  7 |
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Validator.swift:49:23: warning: generic parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 47 |
 48 |     private struct InvalidLinkSourceRule: ValidationRule {
 49 |         func validate<UserInfo>(for router: Router<UserInfo>) throws {
    |                       `- warning: generic parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 50 |             for route in router.routes {
 51 |                 guard let patternLinkSource = route.pattern.linkSource else {
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Router.swift:5:27: note: 'UserInfo' previously declared here
  3 | public typealias SimpleRouter = Router<Void>
  4 |
  5 | public final class Router<UserInfo> {
    |                           `- note: 'UserInfo' previously declared here
  6 |     public typealias Route = Crossroad.Route<UserInfo>
  7 |
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Validator.swift:73:23: warning: generic parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 71 |
 72 |     private struct InvalidUniversalLinkSourceRule: ValidationRule {
 73 |         func validate<UserInfo>(for router: Router<UserInfo>) throws {
    |                       `- warning: generic parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 74 |             for linkSource in router.linkSources {
 75 |                 switch linkSource {
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Router.swift:5:27: note: 'UserInfo' previously declared here
  3 | public typealias SimpleRouter = Router<Void>
  4 |
  5 | public final class Router<UserInfo> {
    |                           `- note: 'UserInfo' previously declared here
  6 |     public typealias Route = Crossroad.Route<UserInfo>
  7 |
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Validator.swift:104:23: warning: generic parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
102 |         ]
103 |
104 |         func validate<UserInfo>(for router: Router<UserInfo>) throws {
    |                       `- warning: generic parameter 'UserInfo' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
105 |             for linkSource in router.linkSources {
106 |                 switch linkSource {
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Router.swift:5:27: note: 'UserInfo' previously declared here
  3 | public typealias SimpleRouter = Router<Void>
  4 |
  5 | public final class Router<UserInfo> {
    |                           `- note: 'UserInfo' previously declared here
  6 |     public typealias Route = Crossroad.Route<UserInfo>
  7 |
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Validator.swift:122:14: warning: associated value 'unknownLinkSource' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'LinkSource'; this is an error in the Swift 6 language mode
120 |
121 |     public enum ValidationError: LocalizedError {
122 |         case unknownLinkSource(Set<LinkSource>)
    |              `- warning: associated value 'unknownLinkSource' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'LinkSource'; this is an error in the Swift 6 language mode
123 |         case duplicatedRoute(String, Route.AcceptPolicy)
124 |         case invalidLinkSource(String, LinkSource)
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Pattern.swift:3:13: note: consider making enum 'LinkSource' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public enum LinkSource: Hashable, CustomStringConvertible {
    |             `- note: consider making enum 'LinkSource' conform to the 'Sendable' protocol
  4 |     case customURLScheme(String)
  5 |     case universalLink(URL)
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Validator.swift:123:14: warning: associated value 'duplicatedRoute' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'Router<UserInfo>.Route.AcceptPolicy' (aka 'Route<UserInfo>.AcceptPolicy'); this is an error in the Swift 6 language mode
121 |     public enum ValidationError: LocalizedError {
122 |         case unknownLinkSource(Set<LinkSource>)
123 |         case duplicatedRoute(String, Route.AcceptPolicy)
    |              `- warning: associated value 'duplicatedRoute' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'Router<UserInfo>.Route.AcceptPolicy' (aka 'Route<UserInfo>.AcceptPolicy'); this is an error in the Swift 6 language mode
124 |         case invalidLinkSource(String, LinkSource)
125 |         case invalidSchemeLinkSource(String)
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Route.swift:9:17: note: consider making enum 'AcceptPolicy' conform to the 'Sendable' protocol
 7 |     var handler: Handler
 8 |
 9 |     public enum AcceptPolicy: Equatable {
   |                 `- note: consider making enum 'AcceptPolicy' conform to the 'Sendable' protocol
10 |         case any
11 |         case only(for: Set<LinkSource>)
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Validator.swift:124:14: warning: associated value 'invalidLinkSource' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'LinkSource'; this is an error in the Swift 6 language mode
122 |         case unknownLinkSource(Set<LinkSource>)
123 |         case duplicatedRoute(String, Route.AcceptPolicy)
124 |         case invalidLinkSource(String, LinkSource)
    |              `- warning: associated value 'invalidLinkSource' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'LinkSource'; this is an error in the Swift 6 language mode
125 |         case invalidSchemeLinkSource(String)
126 |         case wellKnownScheme(String)
/Users/admin/builder/spi-builder-workspace/Sources/Crossroad/Pattern.swift:3:13: note: consider making enum 'LinkSource' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public enum LinkSource: Hashable, CustomStringConvertible {
    |             `- note: consider making enum 'LinkSource' conform to the 'Sendable' protocol
  4 |     case customURLScheme(String)
  5 |     case universalLink(URL)
Build complete! (14.43s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Crossroad",
  "name" : "Crossroad",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "9.0"
    },
    {
      "name" : "tvos",
      "version" : "9.0"
    },
    {
      "name" : "macos",
      "version" : "10.10"
    }
  ],
  "products" : [
    {
      "name" : "Crossroad",
      "targets" : [
        "Crossroad"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "CrossroadTests",
      "module_type" : "SwiftTarget",
      "name" : "CrossroadTests",
      "path" : "Tests/CrossroadTests",
      "sources" : [
        "ContextTests.swift",
        "DSLTests.swift",
        "OpenURLOptionTests.swift",
        "ParsableTests.swift",
        "ParserTests.swift",
        "PatternTests.swift",
        "RouterTests.swift",
        "Router_AcceptanceTests.swift",
        "Router_ValidationTests.swift"
      ],
      "target_dependencies" : [
        "Crossroad"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Crossroad",
      "module_type" : "SwiftTarget",
      "name" : "Crossroad",
      "path" : "Sources/Crossroad",
      "product_memberships" : [
        "Crossroad"
      ],
      "sources" : [
        "Context.swift",
        "ContextParser.swift",
        "DSL.swift",
        "OpenURLOption.swift",
        "Parsable.swift",
        "Pattern.swift",
        "Route.swift",
        "Router.swift",
        "Utils.swift",
        "Validator.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
Done.