This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

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 Bits with Swift 6.0 for Linux.

Swift 6 data race errors: 2

Build Command

bash -c docker run --rm -v "checkouts-4609320-0":/host -w "$workDir" 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.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/vapor-community/bits.git
Reference: master
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/vapor-community/bits
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 0307947 Merge pull request #21 from vapor-community/warnings
Cloned https://github.com/vapor-community/bits.git
Revision (git rev-parse @):
03079476b04139a8b744ad96f975176df5ae12bc
SUCCESS checkout https://github.com/vapor-community/bits.git at master
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $workDir
https://github.com/vapor-community/bits.git
Running build ...
bash -c docker run --rm -v "checkouts-4609320-0":/host -w "$workDir" 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
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/20] Emitting module Bits
/host/spi-builder-workspace/Sources/Bits/Base64Encoder.swift:8:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Base64Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
  3 | ///
  4 | /// https://en.wikipedia.org/wiki/Base64
  5 | public final class Base64Encoder {
    |                    `- note: class 'Base64Encoder' does not conform to the 'Sendable' protocol
  6 |
  7 |     /// Static shared instance
  8 |     public static let shared = Base64Encoder.regular
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Base64Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' 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
  9 |
 10 |     /// Standard Base64Encoder
/host/spi-builder-workspace/Sources/Bits/HexEncoder.swift:26:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'HexEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
  3 | ///
  4 | /// https://en.wikipedia.org/wiki/Hexadecimal
  5 | public final class HexEncoder {
    |                    `- note: class 'HexEncoder' does not conform to the 'Sendable' protocol
  6 |     /// Maps binary format to hex encoding
  7 |     static let encodingTable: [Byte: Byte] = [
    :
 24 |
 25 |     /// Static shared instance
 26 |     public static let shared = HexEncoder()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'HexEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' 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
 27 |
 28 |     /// When true, the encoder will discard
[4/22] Compiling Bits UnsignedInteger+BytesConvertible.swift
[5/22] Compiling Bits UnsignedInteger+Shifting.swift
[6/22] Compiling Bits Byte+Random.swift
[7/22] Compiling Bits Byte+UTF8Numbers.swift
[8/22] Compiling Bits ByteSequence+Conversions.swift
[9/22] Compiling Bits Operators.swift
[10/22] Compiling Bits String+BytesConvertible.swift
[11/22] Compiling Bits Aliases.swift
/host/spi-builder-workspace/Sources/Bits/Base64Encoder.swift:8:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Base64Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
  3 | ///
  4 | /// https://en.wikipedia.org/wiki/Base64
  5 | public final class Base64Encoder {
    |                    `- note: class 'Base64Encoder' does not conform to the 'Sendable' protocol
  6 |
  7 |     /// Static shared instance
  8 |     public static let shared = Base64Encoder.regular
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Base64Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' 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
  9 |
 10 |     /// Standard Base64Encoder
[12/22] Compiling Bits Base64Encoder.swift
/host/spi-builder-workspace/Sources/Bits/Base64Encoder.swift:8:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Base64Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
  3 | ///
  4 | /// https://en.wikipedia.org/wiki/Base64
  5 | public final class Base64Encoder {
    |                    `- note: class 'Base64Encoder' does not conform to the 'Sendable' protocol
  6 |
  7 |     /// Static shared instance
  8 |     public static let shared = Base64Encoder.regular
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Base64Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' 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
  9 |
 10 |     /// Standard Base64Encoder
[13/22] Compiling Bits Byte+Alphabet.swift
/host/spi-builder-workspace/Sources/Bits/Base64Encoder.swift:8:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Base64Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
  3 | ///
  4 | /// https://en.wikipedia.org/wiki/Base64
  5 | public final class Base64Encoder {
    |                    `- note: class 'Base64Encoder' does not conform to the 'Sendable' protocol
  6 |
  7 |     /// Static shared instance
  8 |     public static let shared = Base64Encoder.regular
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Base64Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' 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
  9 |
 10 |     /// Standard Base64Encoder
[14/22] Compiling Bits Bytes+Percent.swift
[15/22] Compiling Bits BytesConvertible.swift
[16/22] Compiling Bits Byte+ControlCharacters.swift
[17/22] Compiling Bits Byte+Convenience.swift
[18/22] Compiling Bits Byte+PatternMatching.swift
[19/22] Compiling Bits Data+BytesConvertible.swift
/host/spi-builder-workspace/Sources/Bits/Data+BytesConvertible.swift:6:22: warning: initialization of 'UnsafeMutableBufferPointer<Byte>' (aka 'UnsafeMutableBufferPointer<UInt8>') results in a dangling buffer pointer
 4 |     public func makeBytes() -> Bytes {
 5 |         var array = Bytes(repeating: 0, count: count)
 6 |         let buffer = UnsafeMutableBufferPointer(start: &array, count: count)
   |                      |                                 |- note: implicit argument conversion from 'Bytes' (aka 'Array<UInt8>') to 'UnsafeMutablePointer<Byte>?' (aka 'Optional<UnsafeMutablePointer<UInt8>>') produces a pointer valid only for the duration of the call to 'init(start:count:)'
   |                      |                                 `- note: use the 'withUnsafeMutableBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
   |                      `- warning: initialization of 'UnsafeMutableBufferPointer<Byte>' (aka 'UnsafeMutableBufferPointer<UInt8>') results in a dangling buffer pointer
 7 |         _ = copyBytes(to: buffer)
 8 |         return array
/host/spi-builder-workspace/Sources/Bits/HexEncoder.swift:26:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'HexEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
  3 | ///
  4 | /// https://en.wikipedia.org/wiki/Hexadecimal
  5 | public final class HexEncoder {
    |                    `- note: class 'HexEncoder' does not conform to the 'Sendable' protocol
  6 |     /// Maps binary format to hex encoding
  7 |     static let encodingTable: [Byte: Byte] = [
    :
 24 |
 25 |     /// Static shared instance
 26 |     public static let shared = HexEncoder()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'HexEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' 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
 27 |
 28 |     /// When true, the encoder will discard
[20/22] Compiling Bits HexEncoder.swift
/host/spi-builder-workspace/Sources/Bits/Data+BytesConvertible.swift:6:22: warning: initialization of 'UnsafeMutableBufferPointer<Byte>' (aka 'UnsafeMutableBufferPointer<UInt8>') results in a dangling buffer pointer
 4 |     public func makeBytes() -> Bytes {
 5 |         var array = Bytes(repeating: 0, count: count)
 6 |         let buffer = UnsafeMutableBufferPointer(start: &array, count: count)
   |                      |                                 |- note: implicit argument conversion from 'Bytes' (aka 'Array<UInt8>') to 'UnsafeMutablePointer<Byte>?' (aka 'Optional<UnsafeMutablePointer<UInt8>>') produces a pointer valid only for the duration of the call to 'init(start:count:)'
   |                      |                                 `- note: use the 'withUnsafeMutableBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
   |                      `- warning: initialization of 'UnsafeMutableBufferPointer<Byte>' (aka 'UnsafeMutableBufferPointer<UInt8>') results in a dangling buffer pointer
 7 |         _ = copyBytes(to: buffer)
 8 |         return array
/host/spi-builder-workspace/Sources/Bits/HexEncoder.swift:26:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'HexEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
  3 | ///
  4 | /// https://en.wikipedia.org/wiki/Hexadecimal
  5 | public final class HexEncoder {
    |                    `- note: class 'HexEncoder' does not conform to the 'Sendable' protocol
  6 |     /// Maps binary format to hex encoding
  7 |     static let encodingTable: [Byte: Byte] = [
    :
 24 |
 25 |     /// Static shared instance
 26 |     public static let shared = HexEncoder()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'HexEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' 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
 27 |
 28 |     /// When true, the encoder will discard
[21/22] Compiling Bits Bytes+Base64.swift
/host/spi-builder-workspace/Sources/Bits/Base64Encoder.swift:8:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Base64Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
  3 | ///
  4 | /// https://en.wikipedia.org/wiki/Base64
  5 | public final class Base64Encoder {
    |                    `- note: class 'Base64Encoder' does not conform to the 'Sendable' protocol
  6 |
  7 |     /// Static shared instance
  8 |     public static let shared = Base64Encoder.regular
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Base64Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' 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
  9 |
 10 |     /// Standard Base64Encoder
/host/spi-builder-workspace/Sources/Bits/HexEncoder.swift:26:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'HexEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
  3 | ///
  4 | /// https://en.wikipedia.org/wiki/Hexadecimal
  5 | public final class HexEncoder {
    |                    `- note: class 'HexEncoder' does not conform to the 'Sendable' protocol
  6 |     /// Maps binary format to hex encoding
  7 |     static let encodingTable: [Byte: Byte] = [
    :
 24 |
 25 |     /// Static shared instance
 26 |     public static let shared = HexEncoder()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'HexEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' 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
 27 |
 28 |     /// When true, the encoder will discard
[22/22] Compiling Bits Bytes+Hex.swift
/host/spi-builder-workspace/Sources/Bits/Base64Encoder.swift:8:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Base64Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
  3 | ///
  4 | /// https://en.wikipedia.org/wiki/Base64
  5 | public final class Base64Encoder {
    |                    `- note: class 'Base64Encoder' does not conform to the 'Sendable' protocol
  6 |
  7 |     /// Static shared instance
  8 |     public static let shared = Base64Encoder.regular
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Base64Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' 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
  9 |
 10 |     /// Standard Base64Encoder
/host/spi-builder-workspace/Sources/Bits/HexEncoder.swift:26:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'HexEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
  3 | ///
  4 | /// https://en.wikipedia.org/wiki/Hexadecimal
  5 | public final class HexEncoder {
    |                    `- note: class 'HexEncoder' does not conform to the 'Sendable' protocol
  6 |     /// Maps binary format to hex encoding
  7 |     static let encodingTable: [Byte: Byte] = [
    :
 24 |
 25 |     /// Static shared instance
 26 |     public static let shared = HexEncoder()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'HexEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' 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
 27 |
 28 |     /// When true, the encoder will discard
Build complete! (14.37s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Bits",
  "name" : "Bits",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Bits",
      "targets" : [
        "Bits"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "BitsTests",
      "module_type" : "SwiftTarget",
      "name" : "BitsTests",
      "path" : "Tests/BitsTests",
      "sources" : [
        "AlphabetTests.swift",
        "ByteTests.swift",
        "BytesTests.swift",
        "ControlCharacterTests.swift",
        "PatternMatchingTests.swift",
        "UnsignedIntegerTests.swift"
      ],
      "target_dependencies" : [
        "Bits"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Bits",
      "module_type" : "SwiftTarget",
      "name" : "Bits",
      "path" : "Sources/Bits",
      "product_memberships" : [
        "Bits"
      ],
      "sources" : [
        "Aliases.swift",
        "Base64Encoder.swift",
        "Byte+Alphabet.swift",
        "Byte+ControlCharacters.swift",
        "Byte+Convenience.swift",
        "Byte+PatternMatching.swift",
        "Byte+Random.swift",
        "Byte+UTF8Numbers.swift",
        "ByteSequence+Conversions.swift",
        "Bytes+Base64.swift",
        "Bytes+Hex.swift",
        "Bytes+Percent.swift",
        "BytesConvertible.swift",
        "Data+BytesConvertible.swift",
        "HexEncoder.swift",
        "Operators.swift",
        "String+BytesConvertible.swift",
        "UnsignedInteger+BytesConvertible.swift",
        "UnsignedInteger+Shifting.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.