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 Linux on 28 Nov 2024 17:46:33 UTC.

Swift 6 data race errors: 8

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -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 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.58.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/giginet/Crossroad.git
Reference: 4.2.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
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
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/giginet/Crossroad.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -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 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/12] Compiling Crossroad DSL.swift
[4/12] Compiling Crossroad OpenURLOption.swift
[5/13] Compiling Crossroad Router.swift
[6/13] Compiling Crossroad Route.swift
[7/13] Compiling Crossroad Utils.swift
[8/13] Compiling Crossroad Parsable.swift
[9/13] Compiling Crossroad Context.swift
[10/13] Compiling Crossroad ContextParser.swift
[11/13] Compiling Crossroad Pattern.swift
[12/13] Emitting module Crossroad
/host/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 {
/host/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 |
/host/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>
/host/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 |
/host/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 {
/host/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 |
/host/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 {
/host/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 |
/host/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 {
/host/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 |
/host/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)
/host/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)
/host/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)
/host/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>)
/host/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)
/host/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)
[13/13] Compiling Crossroad Validator.swift
/host/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 {
/host/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 |
/host/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>
/host/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 |
/host/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 {
/host/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 |
/host/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 {
/host/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 |
/host/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 {
/host/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 |
/host/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)
/host/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)
/host/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)
/host/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>)
/host/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)
/host/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.60s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Crossroad",
  "name" : "Crossroad",
  "path" : "/host/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"
}
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.