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 CSVImporter, reference 1.9.1 (637553), with Swift 6.0 for macOS (SPM) on 28 Nov 2024 15:35:47 UTC.

Swift 6 data race errors: 0

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 -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.58.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/FlineDev/CSVImporter.git
Reference: 1.9.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/FlineDev/CSVImporter
 * tag               1.9.1      -> FETCH_HEAD
HEAD is now at 6375530 Merge branch 'deploy/1.9.1' into productive
Cloned https://github.com/FlineDev/CSVImporter.git
Revision (git rev-parse @):
63755302a3d3ad81d62607dba4a97f06a62eab1b
SUCCESS checkout https://github.com/FlineDev/CSVImporter.git at 1.9.1
Fetching https://github.com/Flinesoft/HandySwift.git
Fetching https://github.com/Quick/Quick.git
Fetching https://github.com/Quick/Nimble.git
[1/3324] Fetching handyswift
[467/18064] Fetching handyswift, quick
[18065/37339] Fetching handyswift, quick, nimble
Fetched https://github.com/Quick/Quick.git from cache (3.05s)
Fetched https://github.com/Quick/Nimble.git from cache (3.05s)
Fetched https://github.com/Flinesoft/HandySwift.git from cache (3.05s)
Computing version for https://github.com/Quick/Nimble.git
Computed https://github.com/Quick/Nimble.git at 7.3.1 (0.66s)
Computing version for https://github.com/Quick/Quick.git
Computed https://github.com/Quick/Quick.git at 1.3.2 (0.59s)
Computing version for https://github.com/Flinesoft/HandySwift.git
Computed https://github.com/Flinesoft/HandySwift.git at 2.7.0 (0.61s)
Creating working copy for https://github.com/Flinesoft/HandySwift.git
Working copy of https://github.com/Flinesoft/HandySwift.git resolved at 2.7.0
Creating working copy for https://github.com/Quick/Nimble.git
Working copy of https://github.com/Quick/Nimble.git resolved at 7.3.1
Creating working copy for https://github.com/Quick/Quick.git
Working copy of https://github.com/Quick/Quick.git resolved at 1.3.2
========================================
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": "csvimporter",
      "name": "CSVImporter",
      "url": "https://github.com/FlineDev/CSVImporter.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/CSVImporter",
      "dependencies": [
        {
          "identity": "handyswift",
          "name": "HandySwift",
          "url": "https://github.com/Flinesoft/HandySwift.git",
          "version": "2.8.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/HandySwift",
          "dependencies": [
          ]
        },
        {
          "identity": "quick",
          "name": "Quick",
          "url": "https://github.com/Quick/Quick.git",
          "version": "1.3.4",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Quick",
          "dependencies": [
            {
              "identity": "nimble",
              "name": "Nimble",
              "url": "https://github.com/Quick/Nimble.git",
              "version": "7.3.4",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Nimble",
              "dependencies": [
              ]
            }
          ]
        },
        {
          "identity": "nimble",
          "name": "Nimble",
          "url": "https://github.com/Quick/Nimble.git",
          "version": "7.3.4",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Nimble",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/FlineDev/CSVImporter.git
[1/1106] Fetching csvimporter
Fetched https://github.com/FlineDev/CSVImporter.git from cache (11.37s)
Fetching https://github.com/Flinesoft/HandySwift.git from cache
Fetching https://github.com/Quick/Quick.git from cache
Fetching https://github.com/Quick/Nimble.git from cache
Fetched https://github.com/Quick/Nimble.git from cache (0.64s)
Fetched https://github.com/Quick/Quick.git from cache (0.64s)
Fetched https://github.com/Flinesoft/HandySwift.git from cache (0.64s)
Computing version for https://github.com/Quick/Quick.git
Computed https://github.com/Quick/Quick.git at 1.3.4 (0.57s)
Computing version for https://github.com/Flinesoft/HandySwift.git
Computed https://github.com/Flinesoft/HandySwift.git at 2.8.0 (0.52s)
Computing version for https://github.com/Quick/Nimble.git
Computed https://github.com/Quick/Nimble.git at 7.3.4 (0.04s)
Creating working copy for https://github.com/Quick/Quick.git
Working copy of https://github.com/Quick/Quick.git resolved at 1.3.4
Creating working copy for https://github.com/FlineDev/CSVImporter.git
Working copy of https://github.com/FlineDev/CSVImporter.git resolved at 1.9.1 (6375530)
Creating working copy for https://github.com/Flinesoft/HandySwift.git
Working copy of https://github.com/Flinesoft/HandySwift.git resolved at 2.8.0
Creating working copy for https://github.com/Quick/Nimble.git
Working copy of https://github.com/Quick/Nimble.git resolved at 7.3.4
warning: '.resolve-product-dependencies': dependency 'csvimporter' is not used by any target
Found 3 product dependencies
  - HandySwift
  - Quick
  - Nimble
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/FlineDev/CSVImporter.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 -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version--7754E27361AE5C74.txt
[4/16] Compiling HandySwift Unowned.swift
[5/17] Compiling HandySwift Regex.swift
[6/17] Compiling HandySwift FrequencyTable.swift
[7/17] Compiling HandySwift TimeIntervalExtension.swift
[8/17] Compiling HandySwift IntExtension.swift
[9/17] Compiling HandySwift StringExtension.swift
[10/17] Compiling HandySwift Globals.swift
[11/17] Compiling HandySwift SortedArray.swift
[12/17] Compiling HandySwift DictionaryExtension.swift
[13/17] Compiling HandySwift DispatchTimeIntervalExtension.swift
[14/17] Emitting module HandySwift
[15/17] Compiling HandySwift ArrayExtension.swift
[16/17] Compiling HandySwift CollectionExtension.swift
[17/17] Compiling HandySwift Weak.swift
[18/25] Compiling CSVImporter TextFileStreamReader.swift
[19/25] Compiling CSVImporter StringSource.swift
[20/25] Compiling CSVImporter TextFile.swift
[21/25] Compiling CSVImporter FileSource.swift
[22/25] Compiling CSVImporter Source.swift
[23/25] Emitting module CSVImporter
[24/25] Compiling CSVImporter Globals.swift
[25/25] Compiling CSVImporter CSVImporter.swift
/Users/admin/builder/spi-builder-workspace/Frameworks/CSVImporter/CSVImporter.swift:155:44: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 19 |
 20 | /// Importer for CSV files that maps your lines to a specified data structure.
 21 | public class CSVImporter<T> {
    |              `- note: generic class 'CSVImporter' does not conform to the 'Sendable' protocol
 22 |     // MARK: - Stored Instance Properties
 23 |     let source: Source
    :
153 |             var importedRecords = [T]()
154 |
155 |             let importedLinesWithSuccess = self.importLines { valuesInLine in
    |                                            `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
156 |                 let newRecord = closure(valuesInLine)
157 |                 importedRecords.append(newRecord)
/Users/admin/builder/spi-builder-workspace/Frameworks/CSVImporter/CSVImporter.swift:156:33: warning: capture of 'closure' with non-sendable type '([String]) -> T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
154 |
155 |             let importedLinesWithSuccess = self.importLines { valuesInLine in
156 |                 let newRecord = closure(valuesInLine)
    |                                 |- warning: capture of 'closure' with non-sendable type '([String]) -> T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
157 |                 importedRecords.append(newRecord)
158 |
/Users/admin/builder/spi-builder-workspace/Frameworks/CSVImporter/CSVImporter.swift:156:33: warning: capture of 'closure' with non-sendable type '([String]) -> T' in an isolated closure; this is an error in the Swift 6 language mode
154 |
155 |             let importedLinesWithSuccess = self.importLines { valuesInLine in
156 |                 let newRecord = closure(valuesInLine)
    |                                 |- warning: capture of 'closure' with non-sendable type '([String]) -> T' in an isolated closure; this is an error in the Swift 6 language mode
    |                                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
157 |                 importedRecords.append(newRecord)
158 |
/Users/admin/builder/spi-builder-workspace/Frameworks/CSVImporter/CSVImporter.swift:159:17: warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 19 |
 20 | /// Importer for CSV files that maps your lines to a specified data structure.
 21 | public class CSVImporter<T> {
    |              `- note: generic class 'CSVImporter' does not conform to the 'Sendable' protocol
 22 |     // MARK: - Stored Instance Properties
 23 |     let source: Source
    :
157 |                 importedRecords.append(newRecord)
158 |
159 |                 self.reportProgressIfNeeded(importedRecords)
    |                 `- warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
160 |             }
161 |
/Users/admin/builder/spi-builder-workspace/Frameworks/CSVImporter/CSVImporter.swift:186:44: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 19 |
 20 | /// Importer for CSV files that maps your lines to a specified data structure.
 21 | public class CSVImporter<T> {
    |              `- note: generic class 'CSVImporter' does not conform to the 'Sendable' protocol
 22 |     // MARK: - Stored Instance Properties
 23 |     let source: Source
    :
184 |             var importedRecords = [T]()
185 |
186 |             let importedLinesWithSuccess = self.importLines { valuesInLine in
    |                                            `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
187 |                 if recordStructure == nil {
188 |                     recordStructure = valuesInLine
/Users/admin/builder/spi-builder-workspace/Frameworks/CSVImporter/CSVImporter.swift:189:21: warning: capture of 'structureClosure' with non-sendable type '([String]) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
187 |                 if recordStructure == nil {
188 |                     recordStructure = valuesInLine
189 |                     structureClosure(valuesInLine)
    |                     |- warning: capture of 'structureClosure' with non-sendable type '([String]) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
190 |                 } else {
191 |                     if let structuredValuesInLine = [String: String](keys: recordStructure!, values: valuesInLine) {
/Users/admin/builder/spi-builder-workspace/Frameworks/CSVImporter/CSVImporter.swift:192:41: warning: capture of 'closure' with non-sendable type '([String : String]) -> T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
190 |                 } else {
191 |                     if let structuredValuesInLine = [String: String](keys: recordStructure!, values: valuesInLine) {
192 |                         let newRecord = closure(structuredValuesInLine)
    |                                         |- warning: capture of 'closure' with non-sendable type '([String : String]) -> T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
193 |                         importedRecords.append(newRecord)
194 |
/Users/admin/builder/spi-builder-workspace/Frameworks/CSVImporter/CSVImporter.swift:189:21: warning: capture of 'structureClosure' with non-sendable type '([String]) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
187 |                 if recordStructure == nil {
188 |                     recordStructure = valuesInLine
189 |                     structureClosure(valuesInLine)
    |                     |- warning: capture of 'structureClosure' with non-sendable type '([String]) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
190 |                 } else {
191 |                     if let structuredValuesInLine = [String: String](keys: recordStructure!, values: valuesInLine) {
/Users/admin/builder/spi-builder-workspace/Frameworks/CSVImporter/CSVImporter.swift:192:41: warning: capture of 'closure' with non-sendable type '([String : String]) -> T' in an isolated closure; this is an error in the Swift 6 language mode
190 |                 } else {
191 |                     if let structuredValuesInLine = [String: String](keys: recordStructure!, values: valuesInLine) {
192 |                         let newRecord = closure(structuredValuesInLine)
    |                                         |- warning: capture of 'closure' with non-sendable type '([String : String]) -> T' in an isolated closure; this is an error in the Swift 6 language mode
    |                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
193 |                         importedRecords.append(newRecord)
194 |
/Users/admin/builder/spi-builder-workspace/Frameworks/CSVImporter/CSVImporter.swift:195:25: warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
 19 |
 20 | /// Importer for CSV files that maps your lines to a specified data structure.
 21 | public class CSVImporter<T> {
    |              `- note: generic class 'CSVImporter' does not conform to the 'Sendable' protocol
 22 |     // MARK: - Stored Instance Properties
 23 |     let source: Source
    :
193 |                         importedRecords.append(newRecord)
194 |
195 |                         self.reportProgressIfNeeded(importedRecords)
    |                         `- warning: capture of 'self' with non-sendable type 'Self' in an isolated closure; this is an error in the Swift 6 language mode
196 |                     } else {
197 |                         print("Warning: Couldn't structurize line.")
/Users/admin/builder/spi-builder-workspace/Frameworks/CSVImporter/CSVImporter.swift:364:17: warning: capture of 'failClosure' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
362 |         if let failClosure = self.failClosure {
363 |             callbacksDispatchQueue.async {
364 |                 failClosure()
    |                 |- warning: capture of 'failClosure' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
365 |             }
366 |         }
/Users/admin/builder/spi-builder-workspace/Frameworks/CSVImporter/CSVImporter.swift:375:21: warning: capture of 'progressClosure' with non-sendable type '(Int) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
373 |             if let progressClosure = self.progressClosure {
374 |                 callbacksDispatchQueue.async {
375 |                     progressClosure(importedRecords.count)
    |                     |- warning: capture of 'progressClosure' with non-sendable type '(Int) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
376 |                 }
377 |             }
/Users/admin/builder/spi-builder-workspace/Frameworks/CSVImporter/CSVImporter.swift:375:37: warning: capture of 'importedRecords' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 19 |
 20 | /// Importer for CSV files that maps your lines to a specified data structure.
 21 | public class CSVImporter<T> {
    |                          `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 22 |     // MARK: - Stored Instance Properties
 23 |     let source: Source
    :
373 |             if let progressClosure = self.progressClosure {
374 |                 callbacksDispatchQueue.async {
375 |                     progressClosure(importedRecords.count)
    |                                     `- warning: capture of 'importedRecords' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
376 |                 }
377 |             }
/Users/admin/builder/spi-builder-workspace/Frameworks/CSVImporter/CSVImporter.swift:384:17: warning: capture of 'finishClosure' with non-sendable type '([T]) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
382 |         if let finishClosure = self.finishClosure {
383 |             callbacksDispatchQueue.async {
384 |                 finishClosure(importedRecords)
    |                 |- warning: capture of 'finishClosure' with non-sendable type '([T]) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
385 |             }
386 |         }
/Users/admin/builder/spi-builder-workspace/Frameworks/CSVImporter/CSVImporter.swift:384:31: warning: capture of 'importedRecords' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 19 |
 20 | /// Importer for CSV files that maps your lines to a specified data structure.
 21 | public class CSVImporter<T> {
    |                          `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 22 |     // MARK: - Stored Instance Properties
 23 |     let source: Source
    :
382 |         if let finishClosure = self.finishClosure {
383 |             callbacksDispatchQueue.async {
384 |                 finishClosure(importedRecords)
    |                               `- warning: capture of 'importedRecords' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
385 |             }
386 |         }
Build complete! (16.00s)
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Frameworks/CSVImporter/Frameworks/SupportingFiles': File not found.
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Tests/CSVImporterTests/Tests/SupportingFiles': File not found.
Build complete.
{
  "dependencies" : [
    {
      "identity" : "handyswift",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.7.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Flinesoft/HandySwift.git"
    },
    {
      "identity" : "quick",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.2",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Quick/Quick.git"
    },
    {
      "identity" : "nimble",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "7.3.1",
            "upper_bound" : "8.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Quick/Nimble.git"
    }
  ],
  "manifest_display_name" : "CSVImporter",
  "name" : "CSVImporter",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "CSVImporter",
      "targets" : [
        "CSVImporter"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "4"
  ],
  "targets" : [
    {
      "c99name" : "CSVImporterTests",
      "module_type" : "SwiftTarget",
      "name" : "CSVImporterTests",
      "path" : "Tests/CSVImporterTests",
      "product_dependencies" : [
        "Quick",
        "Nimble"
      ],
      "sources" : [
        "CSVImporterSpec.swift"
      ],
      "target_dependencies" : [
        "CSVImporter"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CSVImporter",
      "module_type" : "SwiftTarget",
      "name" : "CSVImporter",
      "path" : "Frameworks/CSVImporter",
      "product_dependencies" : [
        "HandySwift"
      ],
      "product_memberships" : [
        "CSVImporter"
      ],
      "sources" : [
        "CSVImporter.swift",
        "FileSource.swift",
        "Globals.swift",
        "Source.swift",
        "StringSource.swift",
        "TextFile.swift",
        "TextFileStreamReader.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Frameworks/CSVImporter/Frameworks/SupportingFiles': File not found.
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Tests/CSVImporterTests/Tests/SupportingFiles': File not found.
Done.