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 IOStreams, reference 1.4.2 (af0e5a), with Swift 6.0 for macOS (SPM) on 8 Nov 2024 16:11:32 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

Build Log

========================================
RunAll
========================================
Builder version: 4.57.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/outfoxx/IOStreams.git
Reference: 1.4.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/outfoxx/IOStreams
 * tag               1.4.2      -> FETCH_HEAD
HEAD is now at af0e5a5 Merge pull request #12 from outfoxx/fix/file-cancel
Cloned https://github.com/outfoxx/IOStreams.git
Revision (git rev-parse @):
af0e5a538f612a7daadee31c96926048ab0695d5
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/outfoxx/IOStreams.git at 1.4.2
Fetching https://github.com/apple/swift-docc-plugin
Fetching https://github.com/apple/swift-atomics.git
[1/1569] Fetching swift-atomics
[64/3607] Fetching swift-atomics, swift-docc-plugin
Fetched https://github.com/apple/swift-atomics.git from cache (1.32s)
Fetched https://github.com/apple/swift-docc-plugin from cache (1.32s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.0.0 (0.66s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.1.0 (0.68s)
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.0.0
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.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": "iostreams",
      "name": "IOStreams",
      "url": "https://github.com/outfoxx/IOStreams.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/IOStreams",
      "dependencies": [
        {
          "identity": "swift-atomics",
          "name": "swift-atomics",
          "url": "https://github.com/apple/swift-atomics.git",
          "version": "1.1.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-atomics",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/outfoxx/IOStreams.git
[1/4419] Fetching iostreams
Fetched https://github.com/outfoxx/IOStreams.git from cache (1.19s)
Fetching https://github.com/apple/swift-atomics.git from cache
Fetched https://github.com/apple/swift-atomics.git from cache (0.48s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.1.0 (0.03s)
Creating working copy for https://github.com/outfoxx/IOStreams.git
Working copy of https://github.com/outfoxx/IOStreams.git resolved at 1.4.2 (af0e5a5)
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.1.0
warning: '.resolve-product-dependencies': dependency 'iostreams' is not used by any target
Found 1 product dependencies
  - swift-atomics
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/outfoxx/IOStreams.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
[1/1] Compiling plugin Swift-DocC
[2/2] Compiling plugin Swift-DocC Preview
Building for debugging...
[2/6] Write sources
[4/6] Write swift-version--7754E27361AE5C74.txt
[5/6] Compiling _AtomicsShims.c
[7/22] Compiling Atomics Primitives.native.swift
[8/23] Compiling Atomics PointerConformances.swift
[9/23] Compiling Atomics AtomicInteger.swift
[10/23] Compiling Atomics AtomicMemoryOrderings.swift
[11/23] Compiling Atomics AtomicOptional.swift
[12/23] Compiling Atomics AtomicOptionalRawRepresentable.swift
[13/23] Compiling Atomics AtomicRawRepresentable.swift
[14/23] Compiling Atomics AtomicStrongReference.swift
[15/23] Compiling Atomics AtomicLazyReference.swift
[16/23] Compiling Atomics HighLevelTypes.swift
[17/23] Compiling Atomics Unmanaged extensions.swift
[18/23] Compiling Atomics AtomicBool.swift
[19/23] Compiling Atomics AtomicValue.swift
[20/23] Compiling Atomics DoubleWord.swift
[21/23] Compiling Atomics IntegerConformances.swift
[22/23] Emitting module Atomics
[23/23] Compiling Atomics Primitives.shims.swift
[24/38] Compiling IOStreams Stream.swift
[25/39] Compiling IOStreams Sink.swift
[26/39] Compiling IOStreams Source.swift
[27/39] Compiling IOStreams FilterStreams.swift
[28/39] Compiling IOStreams Flushable.swift
[29/39] Compiling IOStreams IOError.swift
[30/39] Compiling IOStreams DataStreams.swift
/Users/admin/builder/spi-builder-workspace/Sources/IOStreams/FileStreams.swift:82:7: warning: capture of 'self' with non-sendable type 'FileSource' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 23 | /// - Note: ``FileSource`` uses high performance `DispatchIO`.
 24 | ///
 25 | public class FileSource: FileStream, Source {
    |              `- note: class 'FileSource' does not conform to the 'Sendable' protocol
 26 |
 27 |   public private(set) var bytesRead: Int = 0
    :
 80 |
 81 |     } onCancel: {
 82 |       cancel()
    |       `- warning: capture of 'self' with non-sendable type 'FileSource' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 83 |     }
 84 |
/Users/admin/builder/spi-builder-workspace/Sources/IOStreams/FileStreams.swift:155:7: warning: capture of 'self' with non-sendable type 'FileSink' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 | /// - Note: ``FileSink`` uses high performance `DispatchIO`.
 96 | ///
 97 | public class FileSink: FileStream, Sink {
    |              `- note: class 'FileSink' does not conform to the 'Sendable' protocol
 98 |
 99 |   public private(set) var bytesWritten: Int = 0
    :
153 |
154 |     } onCancel: {
155 |       cancel()
    |       `- warning: capture of 'self' with non-sendable type 'FileSink' in a `@Sendable` closure; this is an error in the Swift 6 language mode
156 |     }
157 |
[31/39] Compiling IOStreams FileStreams.swift
/Users/admin/builder/spi-builder-workspace/Sources/IOStreams/FileStreams.swift:82:7: warning: capture of 'self' with non-sendable type 'FileSource' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 23 | /// - Note: ``FileSource`` uses high performance `DispatchIO`.
 24 | ///
 25 | public class FileSource: FileStream, Source {
    |              `- note: class 'FileSource' does not conform to the 'Sendable' protocol
 26 |
 27 |   public private(set) var bytesRead: Int = 0
    :
 80 |
 81 |     } onCancel: {
 82 |       cancel()
    |       `- warning: capture of 'self' with non-sendable type 'FileSource' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 83 |     }
 84 |
/Users/admin/builder/spi-builder-workspace/Sources/IOStreams/FileStreams.swift:155:7: warning: capture of 'self' with non-sendable type 'FileSink' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 | /// - Note: ``FileSink`` uses high performance `DispatchIO`.
 96 | ///
 97 | public class FileSink: FileStream, Sink {
    |              `- note: class 'FileSink' does not conform to the 'Sendable' protocol
 98 |
 99 |   public private(set) var bytesWritten: Int = 0
    :
153 |
154 |     } onCancel: {
155 |       cancel()
    |       `- warning: capture of 'self' with non-sendable type 'FileSink' in a `@Sendable` closure; this is an error in the Swift 6 language mode
156 |     }
157 |
[32/39] Compiling IOStreams HMACFilter.swift
[33/39] Compiling IOStreams HashingFilter.swift
[34/39] Compiling IOStreams BufferedStreams.swift
[35/39] Compiling IOStreams CompressionFilter.swift
[36/39] Compiling IOStreams AsyncBuffers.swift
[37/39] Compiling IOStreams BoxCipherFilter.swift
[38/39] Emitting module IOStreams
/Users/admin/builder/spi-builder-workspace/Sources/IOStreams/URLSessionStreams.swift:106:9: warning: stored property 'continuation' of 'Sendable'-conforming class 'DataTaskDelegate' is mutable; this is an error in the Swift 6 language mode
104 |   private final class DataTaskDelegate: NSObject, URLSessionDataDelegate {
105 |
106 |     var continuation: Stream.Continuation?
    |         `- warning: stored property 'continuation' of 'Sendable'-conforming class 'DataTaskDelegate' is mutable; this is an error in the Swift 6 language mode
107 |
108 |     init(continuation: Stream.Continuation) {
[39/39] Compiling IOStreams URLSessionStreams.swift
/Users/admin/builder/spi-builder-workspace/Sources/IOStreams/URLSessionStreams.swift:106:9: warning: stored property 'continuation' of 'Sendable'-conforming class 'DataTaskDelegate' is mutable; this is an error in the Swift 6 language mode
104 |   private final class DataTaskDelegate: NSObject, URLSessionDataDelegate {
105 |
106 |     var continuation: Stream.Continuation?
    |         `- warning: stored property 'continuation' of 'Sendable'-conforming class 'DataTaskDelegate' is mutable; this is an error in the Swift 6 language mode
107 |
108 |     init(continuation: Stream.Continuation) {
Build complete! (27.90s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-atomics",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.0",
            "upper_bound" : "1.2.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-atomics.git"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "IOStreams",
  "name" : "IOStreams",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "IOStreams",
      "targets" : [
        "IOStreams"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "IOStreamsTests",
      "module_type" : "SwiftTarget",
      "name" : "IOStreamsTests",
      "path" : "Tests/IOStreamsTests",
      "sources" : [
        "BoxCipherFilterTests.swift",
        "BufferedStreamsTests.swift",
        "CompressionFilterTests.swift",
        "ErrorTests.swift",
        "FileStreamsTests.swift",
        "HMACFilterTests.swift",
        "HashingFilterTests.swift",
        "URLSessionStreamTests.swift"
      ],
      "target_dependencies" : [
        "IOStreams"
      ],
      "type" : "test"
    },
    {
      "c99name" : "IOStreams",
      "module_type" : "SwiftTarget",
      "name" : "IOStreams",
      "path" : "Sources/IOStreams",
      "product_dependencies" : [
        "Atomics"
      ],
      "product_memberships" : [
        "IOStreams"
      ],
      "sources" : [
        "AsyncBuffers.swift",
        "BoxCipherFilter.swift",
        "BufferedStreams.swift",
        "CompressionFilter.swift",
        "DataStreams.swift",
        "FileStreams.swift",
        "FilterStreams.swift",
        "Flushable.swift",
        "HMACFilter.swift",
        "HashingFilter.swift",
        "IOError.swift",
        "Sink.swift",
        "Source.swift",
        "Stream.swift",
        "URLSessionStreams.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.4"
}
✅  Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path:  $PWD/.docs/outfoxx/iostreams/1.4.2
Repository:               outfoxx/IOStreams
Swift version used:       6.0
    .package(url: "https://github.com/apple/swift-docc-plugin", from: "1.0.0")
Target:                   IOStreams
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/swift-docc-render-artifact/.git/
From https://github.com/swiftlang/swift-docc-render-artifact
 * branch            88815688627177b9716a01ca41da19397bd30e47 -> FETCH_HEAD
HEAD is now at 8881568 Update the artifact
Generating documentation for 'IOStreams'...
Converting documentation...
warning: Parameter 'next' not found in instance method declaration
  --> Sources/IOStreams/Source.swift:44:7-44:48
42 |   /// end-of-stream is encountered.
43 |   ///
44 +   /// - Parameter next: The of bytes to request
   |       ╰─suggestion: Remove 'next' parameter documentation
45 |   /// - Returns: The data read, or nil if the stream will no longer produce data.
46 |   func read(exactly: Int) async throws -> Data
warning: Parameter 'exactly' is missing documentation
  --> Sources/IOStreams/Source.swift:44:48-44:48
42 |   /// end-of-stream is encountered.
43 |   ///
44 +   /// - Parameter next: The of bytes to request
   |                                                ╰─suggestion: Document 'exactly' parameter
45 |   /// - Returns: The data read, or nil if the stream will no longer produce data.
46 |   func read(exactly: Int) async throws -> Data
warning: Parameter 'requestSize' not found in instance method declaration
  --> Sources/IOStreams/Source.swift:96:24-96:35
94 |   /// Reads the `next` count bytes from stream.
95 |   ///
96 +   /// - Parameter next requestSize: The total number of bytes to read.
   |                        ╰─suggestion: Replace 'requestSize' with 'requiredSize'
97 |   /// - Returns: Data buffer with `requiredSize` bytes.
98 |   /// - Throws: ``IOError/endOfStream`` when end-of-stream has been
warning: Parameter 'requestSize' not found in instance method declaration
  --> Sources/IOStreams/Source.swift:96:24-96:35
94 |   /// Reads the `next` count bytes from stream.
95 |   ///
96 +   /// - Parameter next requestSize: The total number of bytes to read.
   |                        ╰─suggestion: Replace 'requestSize' with 'requiredSize'
97 |   /// - Returns: Data buffer with `requiredSize` bytes.
98 |   /// - Throws: ``IOError/endOfStream`` when end-of-stream has been
warning: Parameter 'requestSize' not found in instance method declaration
  --> Sources/IOStreams/Source.swift:96:24-96:35
94 |   /// Reads the `next` count bytes from stream.
95 |   ///
96 +   /// - Parameter next requestSize: The total number of bytes to read.
   |                        ╰─suggestion: Replace 'requestSize' with 'requiredSize'
97 |   /// - Returns: Data buffer with `requiredSize` bytes.
98 |   /// - Throws: ``IOError/endOfStream`` when end-of-stream has been
warning: Parameter 'requestSize' not found in instance method declaration
  --> Sources/IOStreams/Source.swift:96:24-96:35
94 |   /// Reads the `next` count bytes from stream.
95 |   ///
96 +   /// - Parameter next requestSize: The total number of bytes to read.
   |                        ╰─suggestion: Replace 'requestSize' with 'requiredSize'
97 |   /// - Returns: Data buffer with `requiredSize` bytes.
98 |   /// - Throws: ``IOError/endOfStream`` when end-of-stream has been
warning: Parameter 'requestSize' not found in instance method declaration
  --> Sources/IOStreams/Source.swift:96:24-96:35
94 |   /// Reads the `next` count bytes from stream.
95 |   ///
96 +   /// - Parameter next requestSize: The total number of bytes to read.
   |                        ╰─suggestion: Replace 'requestSize' with 'requiredSize'
97 |   /// - Returns: Data buffer with `requiredSize` bytes.
98 |   /// - Throws: ``IOError/endOfStream`` when end-of-stream has been
warning: Parameter 'requestSize' not found in instance method declaration
  --> Sources/IOStreams/Source.swift:96:24-96:35
94 |   /// Reads the `next` count bytes from stream.
95 |   ///
96 +   /// - Parameter next requestSize: The total number of bytes to read.
   |                        ╰─suggestion: Replace 'requestSize' with 'requiredSize'
97 |   /// - Returns: Data buffer with `requiredSize` bytes.
98 |   /// - Throws: ``IOError/endOfStream`` when end-of-stream has been
warning: Parameter 'requiredSize' is missing documentation
  --> Sources/IOStreams/Source.swift:96:71-96:71
94 |   /// Reads the `next` count bytes from stream.
95 |   ///
96 +   /// - Parameter next requestSize: The total number of bytes to read.
   |                                                                       ╰─suggestion: Document 'requiredSize' parameter
97 |   /// - Returns: Data buffer with `requiredSize` bytes.
98 |   /// - Throws: ``IOError/endOfStream`` when end-of-stream has been
warning: Parameter 'requiredSize' is missing documentation
  --> Sources/IOStreams/Source.swift:96:71-96:71
94 |   /// Reads the `next` count bytes from stream.
95 |   ///
96 +   /// - Parameter next requestSize: The total number of bytes to read.
   |                                                                       ╰─suggestion: Document 'requiredSize' parameter
97 |   /// - Returns: Data buffer with `requiredSize` bytes.
98 |   /// - Throws: ``IOError/endOfStream`` when end-of-stream has been
warning: Parameter 'requiredSize' is missing documentation
  --> Sources/IOStreams/Source.swift:96:71-96:71
94 |   /// Reads the `next` count bytes from stream.
95 |   ///
96 +   /// - Parameter next requestSize: The total number of bytes to read.
   |                                                                       ╰─suggestion: Document 'requiredSize' parameter
97 |   /// - Returns: Data buffer with `requiredSize` bytes.
98 |   /// - Throws: ``IOError/endOfStream`` when end-of-stream has been
warning: Parameter 'requiredSize' is missing documentation
  --> Sources/IOStreams/Source.swift:96:71-96:71
94 |   /// Reads the `next` count bytes from stream.
95 |   ///
96 +   /// - Parameter next requestSize: The total number of bytes to read.
   |                                                                       ╰─suggestion: Document 'requiredSize' parameter
97 |   /// - Returns: Data buffer with `requiredSize` bytes.
98 |   /// - Throws: ``IOError/endOfStream`` when end-of-stream has been
warning: Parameter 'requiredSize' is missing documentation
  --> Sources/IOStreams/Source.swift:96:71-96:71
94 |   /// Reads the `next` count bytes from stream.
95 |   ///
96 +   /// - Parameter next requestSize: The total number of bytes to read.
   |                                                                       ╰─suggestion: Document 'requiredSize' parameter
97 |   /// - Returns: Data buffer with `requiredSize` bytes.
98 |   /// - Throws: ``IOError/endOfStream`` when end-of-stream has been
warning: Parameter 'requiredSize' is missing documentation
  --> Sources/IOStreams/Source.swift:96:71-96:71
94 |   /// Reads the `next` count bytes from stream.
95 |   ///
96 +   /// - Parameter next requestSize: The total number of bytes to read.
   |                                                                       ╰─suggestion: Document 'requiredSize' parameter
97 |   /// - Returns: Data buffer with `requiredSize` bytes.
98 |   /// - Throws: ``IOError/endOfStream`` when end-of-stream has beenConversion complete! (0.31s)
Generated DocC archive at '/Users/admin/builder/spi-builder-workspace/.docs/outfoxx/iostreams/1.4.2'
Building for debugging...
[0/1] Write swift-version--7754E27361AE5C74.txt
[2/17] Compiling Atomics Primitives.native.swift
[3/18] Compiling Atomics PointerConformances.swift
[4/18] Compiling Atomics Unmanaged extensions.swift
[5/18] Compiling Atomics AtomicBool.swift
[6/18] Compiling Atomics AtomicOptional.swift
[7/18] Compiling Atomics AtomicOptionalRawRepresentable.swift
[8/18] Compiling Atomics AtomicValue.swift
[9/18] Compiling Atomics DoubleWord.swift
[10/18] Compiling Atomics AtomicLazyReference.swift
[11/18] Compiling Atomics HighLevelTypes.swift
[12/18] Compiling Atomics IntegerConformances.swift
[13/18] Compiling Atomics AtomicRawRepresentable.swift
[14/18] Compiling Atomics AtomicStrongReference.swift
[15/18] Compiling Atomics Primitives.shims.swift
[16/18] Compiling Atomics AtomicInteger.swift
[17/18] Compiling Atomics AtomicMemoryOrderings.swift
[18/18] Emitting module Atomics
[19/33] Compiling IOStreams Stream.swift
[20/34] Compiling IOStreams Source.swift
[21/34] Compiling IOStreams IOError.swift
[22/34] Compiling IOStreams HMACFilter.swift
[23/34] Compiling IOStreams HashingFilter.swift
[24/34] Compiling IOStreams BufferedStreams.swift
[25/34] Compiling IOStreams CompressionFilter.swift
[26/34] Compiling IOStreams FilterStreams.swift
[27/34] Compiling IOStreams Flushable.swift
[28/34] Compiling IOStreams Sink.swift
[29/34] Compiling IOStreams AsyncBuffers.swift
[30/34] Compiling IOStreams BoxCipherFilter.swift
[31/34] Compiling IOStreams DataStreams.swift
[32/34] Compiling IOStreams FileStreams.swift
[33/34] Emitting module IOStreams
[34/34] Compiling IOStreams URLSessionStreams.swift
Build of target: 'IOStreams' complete! (2.31s)
     684
6	/Users/admin/builder/spi-builder-workspace/.docs/outfoxx/iostreams/1.4.2
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/outfoxx/iostreams/1.4.2
File count: 684
Doc size:   6.0MB
Preparing doc bundle ...
Uploading prod-outfoxx-iostreams-1.4.2-8bdf9196.zip to s3://spi-docs-inbox/prod-outfoxx-iostreams-1.4.2-8bdf9196.zip
Copying... [11%]
Copying... [22%]
Copying... [34%]
Copying... [45%]
Copying... [51%]
Copying... [62%]
Copying... [73%]
Copying... [84%]
Copying... [95%]
Copying... [100%]
Done.