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 XAttr, reference 3.0.0 (f8605a), with Swift 6.0 for macOS (SPM) on 14 Sep 2024 04:15:04 UTC.

Swift 6 data race errors: 4

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.0.0-Release.Candidate.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.53.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/jozefizso/swift-xattr.git
Reference: 3.0.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/jozefizso/swift-xattr
 * tag               3.0.0      -> FETCH_HEAD
HEAD is now at f8605af Update documentation for XAttr v3.0.0
Cloned https://github.com/jozefizso/swift-xattr.git
Revision (git rev-parse @):
f8605af7b3290dbb235fb182ec6e9035d0c8c3ac
SUCCESS checkout https://github.com/jozefizso/swift-xattr.git at 3.0.0
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/jozefizso/swift-xattr.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.0.0-Release.Candidate.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/4] Write sources
[3/4] Write swift-version-117DEE11B69C53C9.txt
[5/9] Compiling XAttr XAttr.swift
/Users/admin/builder/spi-builder-workspace/Sources/XAttr.swift:42:23: warning: static property 'NoFollow' is not concurrency-safe because non-'Sendable' type 'XAttrOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 34 | /// - important: Options `.CreateOnly` and `.ReplaceOnly` are mutually exclusive. However, neither option is required,
 35 | ///              and supplying neither when setting an extended attribute allows for both creation and replacement.
 36 | public struct XAttrOptions: OptionSet {
    |               `- note: consider making struct 'XAttrOptions' conform to the 'Sendable' protocol
 37 |     public let rawValue: CInt
 38 |
    :
 40 |
 41 |     /// Do not follow symbolic links. Honored when listing, getting, setting, and removing.
 42 |     public static let NoFollow        = XAttrOptions(rawValue: XATTR_NOFOLLOW)
    |                       |- warning: static property 'NoFollow' is not concurrency-safe because non-'Sendable' type 'XAttrOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'NoFollow' 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
 43 |     /// Fail if the named attribute already exists. Honored when setting.
 44 |     public static let CreateOnly      = XAttrOptions(rawValue: XATTR_CREATE)
/Users/admin/builder/spi-builder-workspace/Sources/XAttr.swift:44:23: warning: static property 'CreateOnly' is not concurrency-safe because non-'Sendable' type 'XAttrOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 34 | /// - important: Options `.CreateOnly` and `.ReplaceOnly` are mutually exclusive. However, neither option is required,
 35 | ///              and supplying neither when setting an extended attribute allows for both creation and replacement.
 36 | public struct XAttrOptions: OptionSet {
    |               `- note: consider making struct 'XAttrOptions' conform to the 'Sendable' protocol
 37 |     public let rawValue: CInt
 38 |
    :
 42 |     public static let NoFollow        = XAttrOptions(rawValue: XATTR_NOFOLLOW)
 43 |     /// Fail if the named attribute already exists. Honored when setting.
 44 |     public static let CreateOnly      = XAttrOptions(rawValue: XATTR_CREATE)
    |                       |- warning: static property 'CreateOnly' is not concurrency-safe because non-'Sendable' type 'XAttrOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'CreateOnly' 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
 45 |     /// Fail if the named attribute does not already exist. Honored when setting.
 46 |     public static let ReplaceOnly     = XAttrOptions(rawValue: XATTR_REPLACE)
/Users/admin/builder/spi-builder-workspace/Sources/XAttr.swift:46:23: warning: static property 'ReplaceOnly' is not concurrency-safe because non-'Sendable' type 'XAttrOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 34 | /// - important: Options `.CreateOnly` and `.ReplaceOnly` are mutually exclusive. However, neither option is required,
 35 | ///              and supplying neither when setting an extended attribute allows for both creation and replacement.
 36 | public struct XAttrOptions: OptionSet {
    |               `- note: consider making struct 'XAttrOptions' conform to the 'Sendable' protocol
 37 |     public let rawValue: CInt
 38 |
    :
 44 |     public static let CreateOnly      = XAttrOptions(rawValue: XATTR_CREATE)
 45 |     /// Fail if the named attribute does not already exist. Honored when setting.
 46 |     public static let ReplaceOnly     = XAttrOptions(rawValue: XATTR_REPLACE)
    |                       |- warning: static property 'ReplaceOnly' is not concurrency-safe because non-'Sendable' type 'XAttrOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'ReplaceOnly' 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
 47 |     /// Show or remove HFS+ compression extended attributes. Honored when listing, getting, and removing.
 48 |     public static let ShowCompression = XAttrOptions(rawValue: XATTR_SHOWCOMPRESSION)
/Users/admin/builder/spi-builder-workspace/Sources/XAttr.swift:48:23: warning: static property 'ShowCompression' is not concurrency-safe because non-'Sendable' type 'XAttrOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 34 | /// - important: Options `.CreateOnly` and `.ReplaceOnly` are mutually exclusive. However, neither option is required,
 35 | ///              and supplying neither when setting an extended attribute allows for both creation and replacement.
 36 | public struct XAttrOptions: OptionSet {
    |               `- note: consider making struct 'XAttrOptions' conform to the 'Sendable' protocol
 37 |     public let rawValue: CInt
 38 |
    :
 46 |     public static let ReplaceOnly     = XAttrOptions(rawValue: XATTR_REPLACE)
 47 |     /// Show or remove HFS+ compression extended attributes. Honored when listing, getting, and removing.
 48 |     public static let ShowCompression = XAttrOptions(rawValue: XATTR_SHOWCOMPRESSION)
    |                       |- warning: static property 'ShowCompression' is not concurrency-safe because non-'Sendable' type 'XAttrOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'ShowCompression' 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
 49 | //    public static let NoSecurity      = XAttrOptions(rawValue: XATTR_NOSECURITY)   //TODO: Investigate this option
 50 | //    public static let NoDefault       = XAttrOptions(rawValue: XATTR_NODEFAULT)    //TODO: Investigate this option
/Users/admin/builder/spi-builder-workspace/Sources/XAttr.swift:201:24: warning: 'withUnsafeMutableBytes' is deprecated: use `withUnsafeMutableBytes<R>(_: (UnsafeMutableRawBufferPointer) throws -> R) rethrows -> R` instead
199 |
200 |     var data = Data(count: size)
201 |     let errcode = data.withUnsafeMutableBytes{(bytes: UnsafeMutablePointer<CChar>) in
    |                        `- warning: 'withUnsafeMutableBytes' is deprecated: use `withUnsafeMutableBytes<R>(_: (UnsafeMutableRawBufferPointer) throws -> R) rethrows -> R` instead
202 |         return listFunc(target, bytes, size, options.rawValue)
203 |     }
[6/9] Compiling XAttr FilePath+ExtendedAttributeHandler.swift
[7/9] Compiling XAttr URL+ExtendedAttributeHandler.swift
[8/9] Compiling XAttr FileHandle+ExtendedAttributeHandler.swift
[9/9] Emitting module XAttr
/Users/admin/builder/spi-builder-workspace/Sources/XAttr.swift:42:23: warning: static property 'NoFollow' is not concurrency-safe because non-'Sendable' type 'XAttrOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 34 | /// - important: Options `.CreateOnly` and `.ReplaceOnly` are mutually exclusive. However, neither option is required,
 35 | ///              and supplying neither when setting an extended attribute allows for both creation and replacement.
 36 | public struct XAttrOptions: OptionSet {
    |               `- note: consider making struct 'XAttrOptions' conform to the 'Sendable' protocol
 37 |     public let rawValue: CInt
 38 |
    :
 40 |
 41 |     /// Do not follow symbolic links. Honored when listing, getting, setting, and removing.
 42 |     public static let NoFollow        = XAttrOptions(rawValue: XATTR_NOFOLLOW)
    |                       |- warning: static property 'NoFollow' is not concurrency-safe because non-'Sendable' type 'XAttrOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'NoFollow' 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
 43 |     /// Fail if the named attribute already exists. Honored when setting.
 44 |     public static let CreateOnly      = XAttrOptions(rawValue: XATTR_CREATE)
/Users/admin/builder/spi-builder-workspace/Sources/XAttr.swift:44:23: warning: static property 'CreateOnly' is not concurrency-safe because non-'Sendable' type 'XAttrOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 34 | /// - important: Options `.CreateOnly` and `.ReplaceOnly` are mutually exclusive. However, neither option is required,
 35 | ///              and supplying neither when setting an extended attribute allows for both creation and replacement.
 36 | public struct XAttrOptions: OptionSet {
    |               `- note: consider making struct 'XAttrOptions' conform to the 'Sendable' protocol
 37 |     public let rawValue: CInt
 38 |
    :
 42 |     public static let NoFollow        = XAttrOptions(rawValue: XATTR_NOFOLLOW)
 43 |     /// Fail if the named attribute already exists. Honored when setting.
 44 |     public static let CreateOnly      = XAttrOptions(rawValue: XATTR_CREATE)
    |                       |- warning: static property 'CreateOnly' is not concurrency-safe because non-'Sendable' type 'XAttrOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'CreateOnly' 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
 45 |     /// Fail if the named attribute does not already exist. Honored when setting.
 46 |     public static let ReplaceOnly     = XAttrOptions(rawValue: XATTR_REPLACE)
/Users/admin/builder/spi-builder-workspace/Sources/XAttr.swift:46:23: warning: static property 'ReplaceOnly' is not concurrency-safe because non-'Sendable' type 'XAttrOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 34 | /// - important: Options `.CreateOnly` and `.ReplaceOnly` are mutually exclusive. However, neither option is required,
 35 | ///              and supplying neither when setting an extended attribute allows for both creation and replacement.
 36 | public struct XAttrOptions: OptionSet {
    |               `- note: consider making struct 'XAttrOptions' conform to the 'Sendable' protocol
 37 |     public let rawValue: CInt
 38 |
    :
 44 |     public static let CreateOnly      = XAttrOptions(rawValue: XATTR_CREATE)
 45 |     /// Fail if the named attribute does not already exist. Honored when setting.
 46 |     public static let ReplaceOnly     = XAttrOptions(rawValue: XATTR_REPLACE)
    |                       |- warning: static property 'ReplaceOnly' is not concurrency-safe because non-'Sendable' type 'XAttrOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'ReplaceOnly' 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
 47 |     /// Show or remove HFS+ compression extended attributes. Honored when listing, getting, and removing.
 48 |     public static let ShowCompression = XAttrOptions(rawValue: XATTR_SHOWCOMPRESSION)
/Users/admin/builder/spi-builder-workspace/Sources/XAttr.swift:48:23: warning: static property 'ShowCompression' is not concurrency-safe because non-'Sendable' type 'XAttrOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 34 | /// - important: Options `.CreateOnly` and `.ReplaceOnly` are mutually exclusive. However, neither option is required,
 35 | ///              and supplying neither when setting an extended attribute allows for both creation and replacement.
 36 | public struct XAttrOptions: OptionSet {
    |               `- note: consider making struct 'XAttrOptions' conform to the 'Sendable' protocol
 37 |     public let rawValue: CInt
 38 |
    :
 46 |     public static let ReplaceOnly     = XAttrOptions(rawValue: XATTR_REPLACE)
 47 |     /// Show or remove HFS+ compression extended attributes. Honored when listing, getting, and removing.
 48 |     public static let ShowCompression = XAttrOptions(rawValue: XATTR_SHOWCOMPRESSION)
    |                       |- warning: static property 'ShowCompression' is not concurrency-safe because non-'Sendable' type 'XAttrOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'ShowCompression' 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
 49 | //    public static let NoSecurity      = XAttrOptions(rawValue: XATTR_NOSECURITY)   //TODO: Investigate this option
 50 | //    public static let NoDefault       = XAttrOptions(rawValue: XATTR_NODEFAULT)    //TODO: Investigate this option
Build complete! (25.47s)
Fetching https://github.com/apple/swift-docc-plugin
[1/2038] Fetching swift-docc-plugin
Fetched https://github.com/apple/swift-docc-plugin from cache (1.31s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.4.3 (0.65s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3073] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.24s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.68s)
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.4.3
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "XAttr",
  "name" : "XAttr",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "14.0"
    },
    {
      "name" : "macos",
      "version" : "11.0"
    },
    {
      "name" : "watchos",
      "version" : "7.0"
    },
    {
      "name" : "tvos",
      "version" : "14.0"
    }
  ],
  "products" : [
    {
      "name" : "XAttr",
      "targets" : [
        "XAttr"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "XAttrTests",
      "module_type" : "SwiftTarget",
      "name" : "XAttrTests",
      "path" : "Tests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/Resources/01-SimpleFile.txt",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "AlwaysPassTests.swift",
        "ExtendedAttributeNamesTests.swift",
        "ExtendedAttributeTestCase.swift",
        "SetExtendedAttributeTests.swift"
      ],
      "target_dependencies" : [
        "XAttr"
      ],
      "type" : "test"
    },
    {
      "c99name" : "XAttr",
      "module_type" : "SwiftTarget",
      "name" : "XAttr",
      "path" : "Sources",
      "product_memberships" : [
        "XAttr"
      ],
      "sources" : [
        "FileHandle+ExtendedAttributeHandler.swift",
        "FilePath+ExtendedAttributeHandler.swift",
        "URL+ExtendedAttributeHandler.swift",
        "XAttr.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
Done.