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 InternetProtocols, reference 2.2.4 (2829d7), with Swift 6.0 for Linux on 5 Nov 2024 14:54:34 UTC.

Swift 6 data race errors: 2

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/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 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/OperatorFoundation/InternetProtocols.git
Reference: 2.2.4
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/OperatorFoundation/InternetProtocols
 * tag               2.2.4      -> FETCH_HEAD
HEAD is now at 2829d78 Merge branch 'main' into release
Cloned https://github.com/OperatorFoundation/InternetProtocols.git
Revision (git rev-parse @):
2829d78866ae5fa9b62b3317c0eea4531ce0b01e
SUCCESS checkout https://github.com/OperatorFoundation/InternetProtocols.git at 2.2.4
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/OperatorFoundation/InternetProtocols.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/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 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
Fetching https://github.com/OperatorFoundation/Net
Fetching https://github.com/OperatorFoundation/Datable
Fetching https://github.com/OperatorFoundation/Bits
Fetching https://github.com/OperatorFoundation/SwiftHexTools
[1/96] Fetching swifthextools
[97/201] Fetching swifthextools, net
[202/600] Fetching swifthextools, net, datable
[601/722] Fetching swifthextools, net, datable, bits
Fetched https://github.com/OperatorFoundation/Net from cache (0.22s)
Fetched https://github.com/OperatorFoundation/Datable from cache (0.22s)
Fetched https://github.com/OperatorFoundation/Bits from cache (0.22s)
Fetched https://github.com/OperatorFoundation/SwiftHexTools from cache (0.22s)
Computing version for https://github.com/OperatorFoundation/SwiftHexTools
Computed https://github.com/OperatorFoundation/SwiftHexTools at 1.2.6 (1.95s)
Computing version for https://github.com/OperatorFoundation/Datable
Computed https://github.com/OperatorFoundation/Datable at 4.0.1 (0.43s)
Computing version for https://github.com/OperatorFoundation/Bits
Computed https://github.com/OperatorFoundation/Bits at 2.0.4 (0.43s)
Computing version for https://github.com/OperatorFoundation/Net
Computed https://github.com/OperatorFoundation/Net at 0.0.11 (0.41s)
Fetching https://github.com/OperatorFoundation/NetworkLinux
[1/199] Fetching networklinux
Fetched https://github.com/OperatorFoundation/NetworkLinux from cache (0.22s)
Computing version for https://github.com/OperatorFoundation/NetworkLinux
Computed https://github.com/OperatorFoundation/NetworkLinux at 0.4.8 (0.47s)
Fetching https://github.com/OperatorFoundation/BlueSocket
[1/2764] Fetching bluesocket
Fetched https://github.com/OperatorFoundation/BlueSocket from cache (0.30s)
Computing version for https://github.com/OperatorFoundation/BlueSocket
Computed https://github.com/OperatorFoundation/BlueSocket at 1.1.2 (0.45s)
Fetching https://github.com/apple/swift-argument-parser
[1/12353] Fetching swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser from cache (0.73s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.5.0 (0.43s)
Creating working copy for https://github.com/OperatorFoundation/BlueSocket
Working copy of https://github.com/OperatorFoundation/BlueSocket resolved at 1.1.2
Creating working copy for https://github.com/OperatorFoundation/NetworkLinux
Working copy of https://github.com/OperatorFoundation/NetworkLinux resolved at 0.4.8
Creating working copy for https://github.com/OperatorFoundation/Datable
Working copy of https://github.com/OperatorFoundation/Datable resolved at 4.0.1
Creating working copy for https://github.com/OperatorFoundation/SwiftHexTools
Working copy of https://github.com/OperatorFoundation/SwiftHexTools resolved at 1.2.6
Creating working copy for https://github.com/OperatorFoundation/Net
Working copy of https://github.com/OperatorFoundation/Net resolved at 0.0.11
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.5.0
Creating working copy for https://github.com/OperatorFoundation/Bits
Working copy of https://github.com/OperatorFoundation/Bits resolved at 2.0.4
[1/1] Compiling plugin GenerateManual
Building for debugging...
[1/9] Write sources
[8/9] Write swift-version-24593BA9C3E375BF.txt
[10/51] Compiling Datable Datable.swift
[11/51] Compiling Datable DatableConfig.swift
[12/51] Compiling Datable Double+MaybeDatable.swift
[13/51] Compiling Datable Double+Stringable.swift
[14/51] Compiling Datable File.swift
[15/51] Compiling Datable String+Arrayable.swift
[16/51] Compiling Datable String+Datable.swift
[17/51] Compiling Datable String+Intable.swift
[18/51] Compiling Datable Stringable.swift
[19/51] Compiling Datable MaybeIntable.swift
[20/51] Compiling Datable MaybeNetworkIntable.swift
[21/51] Compiling Datable NetworkDatable.swift
[22/51] Compiling Datable NetworkIntable.swift
[23/51] Emitting module SwiftHexTools
[24/51] Compiling SwiftHexTools SwiftHexTools.swift
[25/56] Compiling Datable Float+Floatable.swift
[26/56] Compiling Datable Float+MaybeDatable.swift
[27/56] Compiling Datable Float+MaybeIntable.swift
[28/56] Compiling Datable Floatable.swift
[29/56] Compiling Datable Int+Floatable.swift
[30/56] Compiling Datable Int+MaybeDatable.swift
[31/56] Compiling Datable Int+MaybeIntable.swift
[32/56] Compiling Datable Int+Stringable.swift
[33/56] Compiling Datable Intable.swift
[34/56] Compiling Datable MaybeDatable.swift
[35/56] Compiling Socket Socket+Hashable.swift
[36/56] Compiling Socket Socket.swift
[37/56] Compiling Datable Data+ExpressibleByStringLiteral.swift
[38/56] Compiling Datable Data+Floatable.swift
[39/56] Compiling Datable Data+MaybeIntable.swift
[40/56] Compiling Datable Data+MaybeNetworkIntable.swift
[41/56] Compiling Datable Data+Stringable.swift
[43/56] Emitting module Datable
[44/56] Compiling Datable Arrayable.swift
[45/56] Compiling Datable CSVable.swift
[46/56] Compiling Datable Data+Arrayable.swift
[47/56] Compiling Datable Data+Base64.swift
[48/56] Compiling Datable Data+Datable.swift
[49/56] Emitting module Socket
[50/56] Compiling Socket Socket+Equatable.swift
[51/56] Compiling Socket SocketProtocols.swift
[52/56] Compiling Socket SocketUtils.swift
[54/72] Compiling NetworkLinux NWProtocolTCP.swift
[55/72] Compiling NetworkLinux NWProtocolTLS.swift
[56/72] Compiling NetworkLinux NWProtocol.swift
[57/72] Compiling NetworkLinux NWProtocolDefinition.swift
[58/73] Compiling NetworkLinux NWProtocolMetadata.swift
[59/73] Compiling NetworkLinux NWProtocolOptions.swift
[60/73] Compiling NetworkLinux NWProtocolUDP.swift
[61/73] Compiling NetworkLinux NWError.swift
[62/73] Compiling NetworkLinux NWInterface.swift
[63/73] Compiling NetworkLinux NWListener.swift
[64/73] Compiling NetworkLinux NWParameters.swift
[65/73] Compiling NetworkLinux NWConnection.swift
[66/73] Compiling NetworkLinux NWEndpoint.swift
[67/73] Emitting module NetworkLinux
[68/73] Compiling NetworkLinux IPv4Address.swift
[69/73] Compiling NetworkLinux IPv6Address.swift
[71/74] Compiling Datable StringableArray+CSVable.swift
[72/74] Compiling Datable UInt+Datable.swift
[73/74] Compiling Datable UInt+MaybeNetworkDatable.swift
[74/74] Compiling Datable UInt+Stringable.swift
[76/85] Compiling Net Net.swift
[77/85] Compiling Net Ipify.swift
[78/85] Emitting module Net
[79/85] Compiling Net Network+Stringable.swift
[80/85] Compiling Net Network+MaybeDatable.swift
[81/85] Compiling Net Network+Codable.swift
[83/86] Compiling Bits Bits+MaybeIntable.swift
[84/86] Emitting module Bits
[85/86] Compiling Bits SimpleBits+MaybeIntable.swift
[86/86] Compiling Bits Bits.swift
[88/95] Compiling InternetProtocols TCP.swift
/host/spi-builder-workspace/Sources/InternetProtocols/TCP.swift:14:16: warning: static property 'tcpDataOffsetNoOptions' is not concurrency-safe because non-'Sendable' type 'Bits?' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | public struct TCP: Codable
 13 | {
 14 |     static let tcpDataOffsetNoOptions: Bits! = Bits(byte: 5, droppingFromLeft: 4)
    |                `- warning: static property 'tcpDataOffsetNoOptions' is not concurrency-safe because non-'Sendable' type 'Bits?' may have shared mutable state; this is an error in the Swift 6 language mode
 15 |
 16 |     public let sourcePort: UInt16 //2 bytes
/host/spi-builder-workspace/.build/checkouts/Bits/Sources/Bits/Bits.swift:250:15: note: struct 'Bits' does not conform to the 'Sendable' protocol
248 |
249 | // Bits allows for packing and unpacking of both bytes and bits in relation to an array of bytes of arbitrary length
250 | public struct Bits: MaybeDatable, Codable
    |               `- note: struct 'Bits' does not conform to the 'Sendable' protocol
251 | {
252 |     public var buffer: Data
/host/spi-builder-workspace/Sources/InternetProtocols/TCP.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Bits'
  6 | //
  7 |
  8 | import Bits
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Bits'
  9 | import Datable
 10 | import Foundation
    :
 12 | public struct TCP: Codable
 13 | {
 14 |     static let tcpDataOffsetNoOptions: Bits! = Bits(byte: 5, droppingFromLeft: 4)
    |                |- note: annotate 'tcpDataOffsetNoOptions' 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
 15 |
 16 |     public let sourcePort: UInt16 //2 bytes
[89/95] Compiling InternetProtocols SequenceNumber.swift
/host/spi-builder-workspace/Sources/InternetProtocols/SequenceNumber.swift:13:23: warning: static property 'max' is not concurrency-safe because non-'Sendable' type 'SequenceNumber' may have shared mutable state; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | public struct SequenceNumber: Equatable, Comparable, Datable, CustomStringConvertible, CustomDebugStringConvertible
    |               `- note: consider making struct 'SequenceNumber' conform to the 'Sendable' protocol
 12 | {
 13 |     static public let max: SequenceNumber = SequenceNumber(UInt32.max - 1)
    |                       |- warning: static property 'max' is not concurrency-safe because non-'Sendable' type 'SequenceNumber' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'max' 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
 14 |
 15 |     static public func ==(_ x: SequenceNumber, _ y: SequenceNumber) -> Bool
[90/96] Compiling InternetProtocols IPv4.swift
[91/96] Compiling InternetProtocols InternetProtocols.swift
[92/96] Compiling InternetProtocols IPv6.swift
[93/96] Emitting module InternetProtocols
/host/spi-builder-workspace/Sources/InternetProtocols/SequenceNumber.swift:13:23: warning: static property 'max' is not concurrency-safe because non-'Sendable' type 'SequenceNumber' may have shared mutable state; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | public struct SequenceNumber: Equatable, Comparable, Datable, CustomStringConvertible, CustomDebugStringConvertible
    |               `- note: consider making struct 'SequenceNumber' conform to the 'Sendable' protocol
 12 | {
 13 |     static public let max: SequenceNumber = SequenceNumber(UInt32.max - 1)
    |                       |- warning: static property 'max' is not concurrency-safe because non-'Sendable' type 'SequenceNumber' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'max' 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
 14 |
 15 |     static public func ==(_ x: SequenceNumber, _ y: SequenceNumber) -> Bool
/host/spi-builder-workspace/Sources/InternetProtocols/TCP.swift:14:16: warning: static property 'tcpDataOffsetNoOptions' is not concurrency-safe because non-'Sendable' type 'Bits?' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | public struct TCP: Codable
 13 | {
 14 |     static let tcpDataOffsetNoOptions: Bits! = Bits(byte: 5, droppingFromLeft: 4)
    |                `- warning: static property 'tcpDataOffsetNoOptions' is not concurrency-safe because non-'Sendable' type 'Bits?' may have shared mutable state; this is an error in the Swift 6 language mode
 15 |
 16 |     public let sourcePort: UInt16 //2 bytes
/host/spi-builder-workspace/.build/checkouts/Bits/Sources/Bits/Bits.swift:250:15: note: struct 'Bits' does not conform to the 'Sendable' protocol
248 |
249 | // Bits allows for packing and unpacking of both bytes and bits in relation to an array of bytes of arbitrary length
250 | public struct Bits: MaybeDatable, Codable
    |               `- note: struct 'Bits' does not conform to the 'Sendable' protocol
251 | {
252 |     public var buffer: Data
/host/spi-builder-workspace/Sources/InternetProtocols/TCP.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Bits'
  6 | //
  7 |
  8 | import Bits
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Bits'
  9 | import Datable
 10 | import Foundation
    :
 12 | public struct TCP: Codable
 13 | {
 14 |     static let tcpDataOffsetNoOptions: Bits! = Bits(byte: 5, droppingFromLeft: 4)
    |                |- note: annotate 'tcpDataOffsetNoOptions' 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
 15 |
 16 |     public let sourcePort: UInt16 //2 bytes
[94/96] Compiling InternetProtocols Ethernet.swift
[95/96] Compiling InternetProtocols ICMP.swift
[96/96] Compiling InternetProtocols UDP.swift
Build complete! (40.77s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "bits",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.0.4",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/OperatorFoundation/Bits"
    },
    {
      "identity" : "datable",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.0.1",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/OperatorFoundation/Datable"
    },
    {
      "identity" : "net",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.0.10",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/OperatorFoundation/Net"
    },
    {
      "identity" : "swifthextools",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.6",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/OperatorFoundation/SwiftHexTools"
    }
  ],
  "manifest_display_name" : "InternetProtocols",
  "name" : "InternetProtocols",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "14.0"
    },
    {
      "name" : "ios",
      "version" : "15.0"
    }
  ],
  "products" : [
    {
      "name" : "InternetProtocols",
      "targets" : [
        "InternetProtocols"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "InternetProtocolsTests",
      "module_type" : "SwiftTarget",
      "name" : "InternetProtocolsTests",
      "path" : "Tests/InternetProtocolsTests",
      "product_dependencies" : [
        "SwiftHexTools"
      ],
      "sources" : [
        "InternetProtocolsTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "InternetProtocols"
      ],
      "type" : "test"
    },
    {
      "c99name" : "InternetProtocols",
      "module_type" : "SwiftTarget",
      "name" : "InternetProtocols",
      "path" : "Sources/InternetProtocols",
      "product_dependencies" : [
        "Bits",
        "Datable",
        "Net",
        "SwiftHexTools"
      ],
      "product_memberships" : [
        "InternetProtocols"
      ],
      "sources" : [
        "Ethernet.swift",
        "ICMP.swift",
        "IPv4.swift",
        "IPv6.swift",
        "InternetProtocols.swift",
        "SequenceNumber.swift",
        "TCP.swift",
        "UDP.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.10"
}
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.