The Swift Package Index logo.Swift Package Index

Build Information

Successful build of SwiftUIFlowLayout, reference main (5516ff), with Swift 6.1 for macOS (SPM) on 14 Aug 2026 14:53:33 UTC.

Swift 6 data race errors: 1

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.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: undefined version: run 'make version' to update
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/globulus/swiftui-flow-layout.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/globulus/swiftui-flow-layout
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 5516ff7 Merge pull request #15 from MojtabaHs/main
Cloned https://github.com/globulus/swiftui-flow-layout.git
Revision (git rev-parse @):
5516ff7e2bfce8befc36e76ce27cd8f4aedaea61
SUCCESS checkout https://github.com/globulus/swiftui-flow-layout.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/globulus/swiftui-flow-layout.git
https://github.com/globulus/swiftui-flow-layout.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SwiftUIFlowLayout",
  "name" : "SwiftUIFlowLayout",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    }
  ],
  "products" : [
    {
      "name" : "SwiftUIFlowLayout",
      "targets" : [
        "SwiftUIFlowLayout"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftUIFlowLayout",
      "module_type" : "SwiftTarget",
      "name" : "SwiftUIFlowLayout",
      "path" : "Sources/SwiftUIFlowLayout",
      "product_memberships" : [
        "SwiftUIFlowLayout"
      ],
      "sources" : [
        "SwiftUIFlowLayout.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.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/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/4] Emitting module SwiftUIFlowLayout
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUIFlowLayout/SwiftUIFlowLayout.swift:84:14: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 82 | private struct HeightPreferenceKey: PreferenceKey {
 83 |   static func reduce(value _: inout CGFloat, nextValue _: () -> CGFloat) {}
 84 |   static var defaultValue: CGFloat = 0
    |              |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |              |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |              |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |              `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 85 | }
 86 |
[4/4] Compiling SwiftUIFlowLayout SwiftUIFlowLayout.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUIFlowLayout/SwiftUIFlowLayout.swift:84:14: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 82 | private struct HeightPreferenceKey: PreferenceKey {
 83 |   static func reduce(value _: inout CGFloat, nextValue _: () -> CGFloat) {}
 84 |   static var defaultValue: CGFloat = 0
    |              |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |              |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |              |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |              `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 85 | }
 86 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUIFlowLayout/SwiftUIFlowLayout.swift:52:44: warning: capture of 'g' with non-sendable type 'GeometryProxy' in a '@Sendable' closure
 50 |               .padding([.horizontal, .vertical], itemSpacing)
 51 |               .alignmentGuide(.leading, computeValue: { d in
 52 |                 if (abs(width - d.width) > g.size.width) {
    |                                            `- warning: capture of 'g' with non-sendable type 'GeometryProxy' in a '@Sendable' closure
 53 |                   width = 0
 54 |                   height -= lastHeight
SwiftUICore.GeometryProxy:2:15: note: struct 'GeometryProxy' does not conform to the 'Sendable' protocol
 1 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
 2 | public struct GeometryProxy {
   |               `- note: struct 'GeometryProxy' does not conform to the 'Sendable' protocol
 3 |     public var size: CGSize { get }
 4 |     public subscript<T>(anchor: Anchor<T>) -> T { get }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUIFlowLayout/SwiftUIFlowLayout.swift:52:25: warning: reference to captured var 'width' in concurrently-executing code
 50 |               .padding([.horizontal, .vertical], itemSpacing)
 51 |               .alignmentGuide(.leading, computeValue: { d in
 52 |                 if (abs(width - d.width) > g.size.width) {
    |                         `- warning: reference to captured var 'width' in concurrently-executing code
 53 |                   width = 0
 54 |                   height -= lastHeight
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUIFlowLayout/SwiftUIFlowLayout.swift:53:19: warning: mutation of captured var 'width' in concurrently-executing code
 51 |               .alignmentGuide(.leading, computeValue: { d in
 52 |                 if (abs(width - d.width) > g.size.width) {
 53 |                   width = 0
    |                   `- warning: mutation of captured var 'width' in concurrently-executing code
 54 |                   height -= lastHeight
 55 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUIFlowLayout/SwiftUIFlowLayout.swift:54:19: warning: mutation of captured var 'height' in concurrently-executing code
 52 |                 if (abs(width - d.width) > g.size.width) {
 53 |                   width = 0
 54 |                   height -= lastHeight
    |                   `- warning: mutation of captured var 'height' in concurrently-executing code
 55 |                 }
 56 |                 lastHeight = d.height
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUIFlowLayout/SwiftUIFlowLayout.swift:54:29: warning: reference to captured var 'lastHeight' in concurrently-executing code
 52 |                 if (abs(width - d.width) > g.size.width) {
 53 |                   width = 0
 54 |                   height -= lastHeight
    |                             `- warning: reference to captured var 'lastHeight' in concurrently-executing code
 55 |                 }
 56 |                 lastHeight = d.height
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUIFlowLayout/SwiftUIFlowLayout.swift:56:17: warning: mutation of captured var 'lastHeight' in concurrently-executing code
 54 |                   height -= lastHeight
 55 |                 }
 56 |                 lastHeight = d.height
    |                 `- warning: mutation of captured var 'lastHeight' in concurrently-executing code
 57 |                 let result = width
 58 |                 if index == itemCount - 1 {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUIFlowLayout/SwiftUIFlowLayout.swift:57:30: warning: reference to captured var 'width' in concurrently-executing code
 55 |                 }
 56 |                 lastHeight = d.height
 57 |                 let result = width
    |                              `- warning: reference to captured var 'width' in concurrently-executing code
 58 |                 if index == itemCount - 1 {
 59 |                   width = 0
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUIFlowLayout/SwiftUIFlowLayout.swift:59:19: warning: mutation of captured var 'width' in concurrently-executing code
 57 |                 let result = width
 58 |                 if index == itemCount - 1 {
 59 |                   width = 0
    |                   `- warning: mutation of captured var 'width' in concurrently-executing code
 60 |                 } else {
 61 |                   width -= d.width
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUIFlowLayout/SwiftUIFlowLayout.swift:61:19: warning: mutation of captured var 'width' in concurrently-executing code
 59 |                   width = 0
 60 |                 } else {
 61 |                   width -= d.width
    |                   `- warning: mutation of captured var 'width' in concurrently-executing code
 62 |                 }
 63 |                 return result
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUIFlowLayout/SwiftUIFlowLayout.swift:66:30: warning: reference to captured var 'height' in concurrently-executing code
 64 |               })
 65 |               .alignmentGuide(.top, computeValue: { d in
 66 |                 let result = height
    |                              `- warning: reference to captured var 'height' in concurrently-executing code
 67 |                 if index == itemCount - 1 {
 68 |                   height = 0
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUIFlowLayout/SwiftUIFlowLayout.swift:68:19: warning: mutation of captured var 'height' in concurrently-executing code
 66 |                 let result = height
 67 |                 if index == itemCount - 1 {
 68 |                   height = 0
    |                   `- warning: mutation of captured var 'height' in concurrently-executing code
 69 |                 }
 70 |                 return result
Build complete! (7.46s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SwiftUIFlowLayout",
  "name" : "SwiftUIFlowLayout",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    }
  ],
  "products" : [
    {
      "name" : "SwiftUIFlowLayout",
      "targets" : [
        "SwiftUIFlowLayout"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftUIFlowLayout",
      "module_type" : "SwiftTarget",
      "name" : "SwiftUIFlowLayout",
      "path" : "Sources/SwiftUIFlowLayout",
      "product_memberships" : [
        "SwiftUIFlowLayout"
      ],
      "sources" : [
        "SwiftUIFlowLayout.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Done.