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.1 (1cd1e6), with Swift 6.0 for macOS (SPM) on 2 Dec 2024 06:00:28 UTC.

Swift 6 data race errors: 4

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.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/jozefizso/swift-xattr.git
Reference: 3.0.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/jozefizso/swift-xattr
 * tag               3.0.1      -> FETCH_HEAD
HEAD is now at 1cd1e6b Update copyright texts to match Cisco OSS standards
Cloned https://github.com/jozefizso/swift-xattr.git
Revision (git rev-parse @):
1cd1e6bc9aecdcce31c66e2d2d5561ecd7ead83a
SUCCESS checkout https://github.com/jozefizso/swift-xattr.git at 3.0.1
Fetching https://github.com/apple/swift-docc-plugin
[1/2044] Fetching swift-docc-plugin
Fetched https://github.com/apple/swift-docc-plugin from cache (1.28s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.4.3 (0.55s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3188] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.37s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.59s)
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
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
========================================
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": "swift-xattr",
      "name": "XAttr",
      "url": "https://github.com/jozefizso/swift-xattr.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-xattr",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/jozefizso/swift-xattr.git
[1/215] Fetching swift-xattr
Fetched https://github.com/jozefizso/swift-xattr.git from cache (0.68s)
Creating working copy for https://github.com/jozefizso/swift-xattr.git
Working copy of https://github.com/jozefizso/swift-xattr.git resolved at 3.0.1 (1cd1e6b)
warning: '.resolve-product-dependencies': dependency 'swift-xattr' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/jozefizso/swift-xattr.git
{
  "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"
}
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
[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--7754E27361AE5C74.txt
[5/9] Compiling XAttr URL+ExtendedAttributeHandler.swift
[6/9] Emitting module XAttr
/Users/admin/builder/spi-builder-workspace/Sources/XAttr.swift:44: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
 36 | /// - important: Options `.CreateOnly` and `.ReplaceOnly` are mutually exclusive. However, neither option is required,
 37 | ///              and supplying neither when setting an extended attribute allows for both creation and replacement.
 38 | public struct XAttrOptions: OptionSet {
    |               `- note: consider making struct 'XAttrOptions' conform to the 'Sendable' protocol
 39 |     public let rawValue: CInt
 40 |
    :
 42 |
 43 |     /// Do not follow symbolic links. Honored when listing, getting, setting, and removing.
 44 |     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
 45 |     /// Fail if the named attribute already exists. Honored when setting.
 46 |     public static let CreateOnly      = XAttrOptions(rawValue: XATTR_CREATE)
/Users/admin/builder/spi-builder-workspace/Sources/XAttr.swift:46: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
 36 | /// - important: Options `.CreateOnly` and `.ReplaceOnly` are mutually exclusive. However, neither option is required,
 37 | ///              and supplying neither when setting an extended attribute allows for both creation and replacement.
 38 | public struct XAttrOptions: OptionSet {
    |               `- note: consider making struct 'XAttrOptions' conform to the 'Sendable' protocol
 39 |     public let rawValue: CInt
 40 |
    :
 44 |     public static let NoFollow        = XAttrOptions(rawValue: XATTR_NOFOLLOW)
 45 |     /// Fail if the named attribute already exists. Honored when setting.
 46 |     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
 47 |     /// Fail if the named attribute does not already exist. Honored when setting.
 48 |     public static let ReplaceOnly     = XAttrOptions(rawValue: XATTR_REPLACE)
/Users/admin/builder/spi-builder-workspace/Sources/XAttr.swift:48: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
 36 | /// - important: Options `.CreateOnly` and `.ReplaceOnly` are mutually exclusive. However, neither option is required,
 37 | ///              and supplying neither when setting an extended attribute allows for both creation and replacement.
 38 | public struct XAttrOptions: OptionSet {
    |               `- note: consider making struct 'XAttrOptions' conform to the 'Sendable' protocol
 39 |     public let rawValue: CInt
 40 |
    :
 46 |     public static let CreateOnly      = XAttrOptions(rawValue: XATTR_CREATE)
 47 |     /// Fail if the named attribute does not already exist. Honored when setting.
 48 |     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
 49 |     /// Show or remove HFS+ compression extended attributes. Honored when listing, getting, and removing.
 50 |     public static let ShowCompression = XAttrOptions(rawValue: XATTR_SHOWCOMPRESSION)
/Users/admin/builder/spi-builder-workspace/Sources/XAttr.swift:50: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
 36 | /// - important: Options `.CreateOnly` and `.ReplaceOnly` are mutually exclusive. However, neither option is required,
 37 | ///              and supplying neither when setting an extended attribute allows for both creation and replacement.
 38 | public struct XAttrOptions: OptionSet {
    |               `- note: consider making struct 'XAttrOptions' conform to the 'Sendable' protocol
 39 |     public let rawValue: CInt
 40 |
    :
 48 |     public static let ReplaceOnly     = XAttrOptions(rawValue: XATTR_REPLACE)
 49 |     /// Show or remove HFS+ compression extended attributes. Honored when listing, getting, and removing.
 50 |     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
 51 | //    public static let NoSecurity      = XAttrOptions(rawValue: XATTR_NOSECURITY)   //TODO: Investigate this option
 52 | //    public static let NoDefault       = XAttrOptions(rawValue: XATTR_NODEFAULT)    //TODO: Investigate this option
[7/9] Compiling XAttr FileHandle+ExtendedAttributeHandler.swift
[8/9] Compiling XAttr FilePath+ExtendedAttributeHandler.swift
[9/9] Compiling XAttr XAttr.swift
/Users/admin/builder/spi-builder-workspace/Sources/XAttr.swift:44: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
 36 | /// - important: Options `.CreateOnly` and `.ReplaceOnly` are mutually exclusive. However, neither option is required,
 37 | ///              and supplying neither when setting an extended attribute allows for both creation and replacement.
 38 | public struct XAttrOptions: OptionSet {
    |               `- note: consider making struct 'XAttrOptions' conform to the 'Sendable' protocol
 39 |     public let rawValue: CInt
 40 |
    :
 42 |
 43 |     /// Do not follow symbolic links. Honored when listing, getting, setting, and removing.
 44 |     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
 45 |     /// Fail if the named attribute already exists. Honored when setting.
 46 |     public static let CreateOnly      = XAttrOptions(rawValue: XATTR_CREATE)
/Users/admin/builder/spi-builder-workspace/Sources/XAttr.swift:46: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
 36 | /// - important: Options `.CreateOnly` and `.ReplaceOnly` are mutually exclusive. However, neither option is required,
 37 | ///              and supplying neither when setting an extended attribute allows for both creation and replacement.
 38 | public struct XAttrOptions: OptionSet {
    |               `- note: consider making struct 'XAttrOptions' conform to the 'Sendable' protocol
 39 |     public let rawValue: CInt
 40 |
    :
 44 |     public static let NoFollow        = XAttrOptions(rawValue: XATTR_NOFOLLOW)
 45 |     /// Fail if the named attribute already exists. Honored when setting.
 46 |     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
 47 |     /// Fail if the named attribute does not already exist. Honored when setting.
 48 |     public static let ReplaceOnly     = XAttrOptions(rawValue: XATTR_REPLACE)
/Users/admin/builder/spi-builder-workspace/Sources/XAttr.swift:48: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
 36 | /// - important: Options `.CreateOnly` and `.ReplaceOnly` are mutually exclusive. However, neither option is required,
 37 | ///              and supplying neither when setting an extended attribute allows for both creation and replacement.
 38 | public struct XAttrOptions: OptionSet {
    |               `- note: consider making struct 'XAttrOptions' conform to the 'Sendable' protocol
 39 |     public let rawValue: CInt
 40 |
    :
 46 |     public static let CreateOnly      = XAttrOptions(rawValue: XATTR_CREATE)
 47 |     /// Fail if the named attribute does not already exist. Honored when setting.
 48 |     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
 49 |     /// Show or remove HFS+ compression extended attributes. Honored when listing, getting, and removing.
 50 |     public static let ShowCompression = XAttrOptions(rawValue: XATTR_SHOWCOMPRESSION)
/Users/admin/builder/spi-builder-workspace/Sources/XAttr.swift:50: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
 36 | /// - important: Options `.CreateOnly` and `.ReplaceOnly` are mutually exclusive. However, neither option is required,
 37 | ///              and supplying neither when setting an extended attribute allows for both creation and replacement.
 38 | public struct XAttrOptions: OptionSet {
    |               `- note: consider making struct 'XAttrOptions' conform to the 'Sendable' protocol
 39 |     public let rawValue: CInt
 40 |
    :
 48 |     public static let ReplaceOnly     = XAttrOptions(rawValue: XATTR_REPLACE)
 49 |     /// Show or remove HFS+ compression extended attributes. Honored when listing, getting, and removing.
 50 |     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
 51 | //    public static let NoSecurity      = XAttrOptions(rawValue: XATTR_NOSECURITY)   //TODO: Investigate this option
 52 | //    public static let NoDefault       = XAttrOptions(rawValue: XATTR_NODEFAULT)    //TODO: Investigate this option
/Users/admin/builder/spi-builder-workspace/Sources/XAttr.swift:203:24: warning: 'withUnsafeMutableBytes' is deprecated: use `withUnsafeMutableBytes<R>(_: (UnsafeMutableRawBufferPointer) throws -> R) rethrows -> R` instead
201 |
202 |     var data = Data(count: size)
203 |     let errcode = data.withUnsafeMutableBytes{(bytes: UnsafeMutablePointer<CChar>) in
    |                        `- warning: 'withUnsafeMutableBytes' is deprecated: use `withUnsafeMutableBytes<R>(_: (UnsafeMutableRawBufferPointer) throws -> R) rethrows -> R` instead
204 |         return listFunc(target, bytes, size, options.rawValue)
205 |     }
Build complete! (16.83s)
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.