The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of InfiniteScrollViews, reference v1.1.1 (adec1a), with Swift 6.1 for macOS (SPM) on 30 Apr 2025 00:38:45 UTC.

Swift 6 data race errors: 0

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: 4.61.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/b5i/InfiniteScrollViews.git
Reference: v1.1.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/b5i/InfiniteScrollViews
 * tag               v1.1.1     -> FETCH_HEAD
HEAD is now at adec1af Fixed layout issue in `NSPagedInfiniteScrollView`.
Cloned https://github.com/b5i/InfiniteScrollViews.git
Revision (git rev-parse @):
adec1afc091e1f6e367da585a3cb699c2cb95a5f
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/b5i/InfiniteScrollViews.git at v1.1.1
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/b5i/InfiniteScrollViews.git
https://github.com/b5i/InfiniteScrollViews.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "InfiniteScrollViews",
  "name" : "InfiniteScrollViews",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "InfiniteScrollViews",
      "targets" : [
        "InfiniteScrollViews"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "InfiniteScrollViews",
      "module_type" : "SwiftTarget",
      "name" : "InfiniteScrollViews",
      "path" : "Sources/InfiniteScrollViews",
      "product_memberships" : [
        "InfiniteScrollViews"
      ],
      "sources" : [
        "InfiniteScrollView.swift",
        "PagedInfiniteScrollView.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.4"
}
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/5] Compiling InfiniteScrollViews PagedInfiniteScrollView.swift
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/PagedInfiniteScrollView.swift:155:20: warning: call to main actor-isolated initializer 'init(rootView:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
153 |         /// Creates the main view and set it in the ``NSPageViewController``.
154 |         let convertedClosure: (ChangeIndex) -> NSViewController = { changeIndex in
155 |             return NSHostingController(rootView: content(changeIndex))
    |                    `- warning: call to main actor-isolated initializer 'init(rootView:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
156 |         }
157 |         let changeIndexNotification: (ChangeIndex) -> () = { changeIndex in
SwiftUI.NSHostingController.init:2:35: note: calls to initializer 'init(rootView:)' from outside of its actor context are implicitly asynchronous
1 | generic class NSHostingController {
2 | @MainActor @preconcurrency public init(rootView: Content)}
  |                                   `- note: calls to initializer 'init(rootView:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/PagedInfiniteScrollView.swift:163:16: warning: call to main actor-isolated initializer 'init(content:changeIndex:changeIndexNotification:increaseIndexAction:decreaseIndexAction:shouldAnimateBetween:indexesEqual:transitionStyle:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
150 |     }
151 |
152 |     public func makeNSViewController(context: Context) -> NSPagedInfiniteScrollView<ChangeIndex> {
    |                 `- note: add '@MainActor' to make instance method 'makeNSViewController(context:)' part of global actor 'MainActor'
153 |         /// Creates the main view and set it in the ``NSPageViewController``.
154 |         let convertedClosure: (ChangeIndex) -> NSViewController = { changeIndex in
    :
161 |         }
162 |
163 |         return NSPagedInfiniteScrollView(content: convertedClosure, changeIndex: changeIndex.wrappedValue, changeIndexNotification: changeIndexNotification, increaseIndexAction: increaseIndexAction, decreaseIndexAction: decreaseIndexAction, shouldAnimateBetween: shouldAnimateBetween, indexesEqual: indexesEqual, transitionStyle: transitionStyle)
    |                `- warning: call to main actor-isolated initializer 'init(content:changeIndex:changeIndexNotification:increaseIndexAction:decreaseIndexAction:shouldAnimateBetween:indexesEqual:transitionStyle:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
164 |     }
165 |
    :
348 |     ///   - indexesEqual: Function that should tell whether two ChangeIndex should be considered as equal (and so shouldn't change the controller if a transition is made between them).
349 |     ///   - transitionStyle: The style for transitions between pages.
350 |     public init(
    |            |- note: calls to initializer 'init(content:changeIndex:changeIndexNotification:increaseIndexAction:decreaseIndexAction:shouldAnimateBetween:indexesEqual:transitionStyle:)' from outside of its actor context are implicitly asynchronous
    |            `- note: main actor isolation inferred from inheritance from class 'NSPageController'
351 |         content: @escaping (ChangeIndex) -> NSViewController,
352 |         changeIndex: ChangeIndex,
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/PagedInfiniteScrollView.swift:167:26: warning: call to main actor-isolated instance method 'changeCurrentIndex(to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
164 |     }
165 |
166 |     public func updateNSViewController(_ nsViewController: NSPagedInfiniteScrollView<ChangeIndex>, context: Context) {
    |                 `- note: add '@MainActor' to make instance method 'updateNSViewController(_:context:)' part of global actor 'MainActor'
167 |         nsViewController.changeCurrentIndex(to: changeIndex.wrappedValue)
    |                          `- warning: call to main actor-isolated instance method 'changeCurrentIndex(to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
168 |     }
169 |     #else
    :
408 |
409 |     /// Programmaticaly change the current index (with animation).
410 |     public func changeCurrentIndex(to newIndex: ChangeIndex) {
    |                 |- note: calls to instance method 'changeCurrentIndex(to:)' from outside of its actor context are implicitly asynchronous
    |                 `- note: main actor isolation inferred from inheritance from class 'NSPageController'
411 |         if !self.indexesEqual(self.changeIndex, newIndex) {
412 |             if let newIndexIndex = self.arrangedObjects.firstIndex(where: {
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/PagedInfiniteScrollView.swift:163:16: warning: sending 'convertedClosure' risks causing data races; this is an error in the Swift 6 language mode
161 |         }
162 |
163 |         return NSPagedInfiniteScrollView(content: convertedClosure, changeIndex: changeIndex.wrappedValue, changeIndexNotification: changeIndexNotification, increaseIndexAction: increaseIndexAction, decreaseIndexAction: decreaseIndexAction, shouldAnimateBetween: shouldAnimateBetween, indexesEqual: indexesEqual, transitionStyle: transitionStyle)
    |                |- warning: sending 'convertedClosure' risks causing data races; this is an error in the Swift 6 language mode
    |                `- note: sending task-isolated 'convertedClosure' to main actor-isolated initializer 'init(content:changeIndex:changeIndexNotification:increaseIndexAction:decreaseIndexAction:shouldAnimateBetween:indexesEqual:transitionStyle:)' risks causing data races between main actor-isolated and task-isolated uses
164 |     }
165 |
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/PagedInfiniteScrollView.swift:163:16: warning: sending value of non-Sendable type 'ChangeIndex' risks causing data races; this is an error in the Swift 6 language mode
161 |         }
162 |
163 |         return NSPagedInfiniteScrollView(content: convertedClosure, changeIndex: changeIndex.wrappedValue, changeIndexNotification: changeIndexNotification, increaseIndexAction: increaseIndexAction, decreaseIndexAction: decreaseIndexAction, shouldAnimateBetween: shouldAnimateBetween, indexesEqual: indexesEqual, transitionStyle: transitionStyle)
    |                |- warning: sending value of non-Sendable type 'ChangeIndex' risks causing data races; this is an error in the Swift 6 language mode
    |                `- note: sending task-isolated value of non-Sendable type 'ChangeIndex' to main actor-isolated initializer 'init(content:changeIndex:changeIndexNotification:increaseIndexAction:decreaseIndexAction:shouldAnimateBetween:indexesEqual:transitionStyle:)' risks causing races in between task-isolated and main actor-isolated uses
164 |     }
165 |
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/PagedInfiniteScrollView.swift:163:16: warning: sending 'changeIndexNotification.some' risks causing data races; this is an error in the Swift 6 language mode
161 |         }
162 |
163 |         return NSPagedInfiniteScrollView(content: convertedClosure, changeIndex: changeIndex.wrappedValue, changeIndexNotification: changeIndexNotification, increaseIndexAction: increaseIndexAction, decreaseIndexAction: decreaseIndexAction, shouldAnimateBetween: shouldAnimateBetween, indexesEqual: indexesEqual, transitionStyle: transitionStyle)
    |                |- warning: sending 'changeIndexNotification.some' risks causing data races; this is an error in the Swift 6 language mode
    |                `- note: sending task-isolated 'changeIndexNotification.some' to main actor-isolated initializer 'init(content:changeIndex:changeIndexNotification:increaseIndexAction:decreaseIndexAction:shouldAnimateBetween:indexesEqual:transitionStyle:)' risks causing data races between main actor-isolated and task-isolated uses
164 |     }
165 |
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/PagedInfiniteScrollView.swift:163:16: warning: sending 'self.increaseIndexAction' risks causing data races; this is an error in the Swift 6 language mode
161 |         }
162 |
163 |         return NSPagedInfiniteScrollView(content: convertedClosure, changeIndex: changeIndex.wrappedValue, changeIndexNotification: changeIndexNotification, increaseIndexAction: increaseIndexAction, decreaseIndexAction: decreaseIndexAction, shouldAnimateBetween: shouldAnimateBetween, indexesEqual: indexesEqual, transitionStyle: transitionStyle)
    |                |- warning: sending 'self.increaseIndexAction' risks causing data races; this is an error in the Swift 6 language mode
    |                `- note: sending task-isolated 'self.increaseIndexAction' to main actor-isolated initializer 'init(content:changeIndex:changeIndexNotification:increaseIndexAction:decreaseIndexAction:shouldAnimateBetween:indexesEqual:transitionStyle:)' risks causing data races between main actor-isolated and task-isolated uses
164 |     }
165 |
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/PagedInfiniteScrollView.swift:163:16: warning: sending 'self.decreaseIndexAction' risks causing data races; this is an error in the Swift 6 language mode
161 |         }
162 |
163 |         return NSPagedInfiniteScrollView(content: convertedClosure, changeIndex: changeIndex.wrappedValue, changeIndexNotification: changeIndexNotification, increaseIndexAction: increaseIndexAction, decreaseIndexAction: decreaseIndexAction, shouldAnimateBetween: shouldAnimateBetween, indexesEqual: indexesEqual, transitionStyle: transitionStyle)
    |                |- warning: sending 'self.decreaseIndexAction' risks causing data races; this is an error in the Swift 6 language mode
    |                `- note: sending task-isolated 'self.decreaseIndexAction' to main actor-isolated initializer 'init(content:changeIndex:changeIndexNotification:increaseIndexAction:decreaseIndexAction:shouldAnimateBetween:indexesEqual:transitionStyle:)' risks causing data races between main actor-isolated and task-isolated uses
164 |     }
165 |
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/PagedInfiniteScrollView.swift:163:16: warning: sending 'self.shouldAnimateBetween' risks causing data races; this is an error in the Swift 6 language mode
161 |         }
162 |
163 |         return NSPagedInfiniteScrollView(content: convertedClosure, changeIndex: changeIndex.wrappedValue, changeIndexNotification: changeIndexNotification, increaseIndexAction: increaseIndexAction, decreaseIndexAction: decreaseIndexAction, shouldAnimateBetween: shouldAnimateBetween, indexesEqual: indexesEqual, transitionStyle: transitionStyle)
    |                |- warning: sending 'self.shouldAnimateBetween' risks causing data races; this is an error in the Swift 6 language mode
    |                `- note: sending task-isolated 'self.shouldAnimateBetween' to main actor-isolated initializer 'init(content:changeIndex:changeIndexNotification:increaseIndexAction:decreaseIndexAction:shouldAnimateBetween:indexesEqual:transitionStyle:)' risks causing data races between main actor-isolated and task-isolated uses
164 |     }
165 |
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/PagedInfiniteScrollView.swift:163:16: warning: sending 'self.indexesEqual' risks causing data races; this is an error in the Swift 6 language mode
161 |         }
162 |
163 |         return NSPagedInfiniteScrollView(content: convertedClosure, changeIndex: changeIndex.wrappedValue, changeIndexNotification: changeIndexNotification, increaseIndexAction: increaseIndexAction, decreaseIndexAction: decreaseIndexAction, shouldAnimateBetween: shouldAnimateBetween, indexesEqual: indexesEqual, transitionStyle: transitionStyle)
    |                |- warning: sending 'self.indexesEqual' risks causing data races; this is an error in the Swift 6 language mode
    |                `- note: sending task-isolated 'self.indexesEqual' to main actor-isolated initializer 'init(content:changeIndex:changeIndexNotification:increaseIndexAction:decreaseIndexAction:shouldAnimateBetween:indexesEqual:transitionStyle:)' risks causing data races between main actor-isolated and task-isolated uses
164 |     }
165 |
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/PagedInfiniteScrollView.swift:155:20: warning: sending value of non-Sendable type 'Content' risks causing data races; this is an error in the Swift 6 language mode
153 |         /// Creates the main view and set it in the ``NSPageViewController``.
154 |         let convertedClosure: (ChangeIndex) -> NSViewController = { changeIndex in
155 |             return NSHostingController(rootView: content(changeIndex))
    |                    |- warning: sending value of non-Sendable type 'Content' risks causing data races; this is an error in the Swift 6 language mode
    |                    `- note: sending task-isolated value of non-Sendable type 'Content' to main actor-isolated callee risks causing races in between task-isolated and main actor-isolated uses
156 |         }
157 |         let changeIndexNotification: (ChangeIndex) -> () = { changeIndex in
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/PagedInfiniteScrollView.swift:159:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
157 |         let changeIndexNotification: (ChangeIndex) -> () = { changeIndex in
158 |             DispatchQueue.main.async {
159 |                 self.changeIndex.wrappedValue = changeIndex
    |                 |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
160 |             }
161 |         }
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/PagedInfiniteScrollView.swift:159:49: warning: sending 'changeIndex' risks causing data races; this is an error in the Swift 6 language mode
157 |         let changeIndexNotification: (ChangeIndex) -> () = { changeIndex in
158 |             DispatchQueue.main.async {
159 |                 self.changeIndex.wrappedValue = changeIndex
    |                                                 |- warning: sending 'changeIndex' risks causing data races; this is an error in the Swift 6 language mode
    |                                                 `- note: task-isolated 'changeIndex' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
160 |             }
161 |         }
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/PagedInfiniteScrollView.swift:167:26: warning: sending value of non-Sendable type 'ChangeIndex' risks causing data races; this is an error in the Swift 6 language mode
165 |
166 |     public func updateNSViewController(_ nsViewController: NSPagedInfiniteScrollView<ChangeIndex>, context: Context) {
167 |         nsViewController.changeCurrentIndex(to: changeIndex.wrappedValue)
    |                          |- warning: sending value of non-Sendable type 'ChangeIndex' risks causing data races; this is an error in the Swift 6 language mode
    |                          `- note: sending task-isolated value of non-Sendable type 'ChangeIndex' to main actor-isolated instance method 'changeCurrentIndex(to:)' risks causing races in between task-isolated and main actor-isolated uses
168 |     }
169 |     #else
[4/5] Emitting module InfiniteScrollViews
[5/5] Compiling InfiniteScrollViews InfiniteScrollView.swift
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/InfiniteScrollView.swift:183:72: warning: main actor-isolated property 'view' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 181 |     public func makeNSView(context: Context) -> NSInfiniteScrollView<ChangeIndex> {
 182 |         let convertedClosure: (ChangeIndex) -> NSView = { changeIndex in
 183 |             return NSHostingController(rootView: content(changeIndex)).view
     |                                                                        `- warning: main actor-isolated property 'view' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 184 |         }
 185 |         return NSInfiniteScrollView(
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSViewController.h:78:37: note: property declared here
 76 | /* The default implementation of the getter first invokes [self loadView] if the view hasn't been set yet. After -loadView is called, -viewDidLoad will be called. The setter can be used to assign a view that's created in a different manner than what -view's default implementation would do.
 77 | */
 78 | @property (strong) IBOutlet NSView *view;
    |                                     `- note: property declared here
 79 |
 80 | /* Returns the view controller's view, or nil if the view has not been loaded.
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/InfiniteScrollView.swift:183:20: warning: call to main actor-isolated initializer 'init(rootView:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 181 |     public func makeNSView(context: Context) -> NSInfiniteScrollView<ChangeIndex> {
 182 |         let convertedClosure: (ChangeIndex) -> NSView = { changeIndex in
 183 |             return NSHostingController(rootView: content(changeIndex)).view
     |                    `- warning: call to main actor-isolated initializer 'init(rootView:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 184 |         }
 185 |         return NSInfiniteScrollView(
SwiftUI.NSHostingController.init:2:35: note: calls to initializer 'init(rootView:)' from outside of its actor context are implicitly asynchronous
1 | generic class NSHostingController {
2 | @MainActor @preconcurrency public init(rootView: Content)}
  |                                   `- note: calls to initializer 'init(rootView:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/InfiniteScrollView.swift:185:16: warning: call to main actor-isolated initializer 'init(frame:content:contentFrame:changeIndex:changeIndexIncreaseAction:changeIndexDecreaseAction:contentMultiplier:orientation:refreshAction:spacing:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 179 |
 180 |     #if os(macOS)
 181 |     public func makeNSView(context: Context) -> NSInfiniteScrollView<ChangeIndex> {
     |                 `- note: add '@MainActor' to make instance method 'makeNSView(context:)' part of global actor 'MainActor'
 182 |         let convertedClosure: (ChangeIndex) -> NSView = { changeIndex in
 183 |             return NSHostingController(rootView: content(changeIndex)).view
 184 |         }
 185 |         return NSInfiniteScrollView(
     |                `- warning: call to main actor-isolated initializer 'init(frame:content:contentFrame:changeIndex:changeIndexIncreaseAction:changeIndexDecreaseAction:contentMultiplier:orientation:refreshAction:spacing:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 186 |             frame: frame,
 187 |             content: convertedClosure,
     :
 356 |     ///   - refreshAction: Action to do when the user pull the InfiniteScrollView to the top to refresh the content, should be nil if there is no need to refresh anything. Gives an action that must be used in order for refresh to end.
 357 |     ///   - spacing: Space between the views.
 358 |     public init(
     |            |- note: calls to initializer 'init(frame:content:contentFrame:changeIndex:changeIndexIncreaseAction:changeIndexDecreaseAction:contentMultiplier:orientation:refreshAction:spacing:)' from outside of its actor context are implicitly asynchronous
     |            `- note: main actor isolation inferred from inheritance from class 'NSScrollView'
 359 |         frame: CGRect,
 360 |         content: @escaping (ChangeIndex) -> NSView,
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/InfiniteScrollView.swift:201:20: warning: call to main actor-isolated instance method 'layout()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 197 |     }
 198 |
 199 |     public func updateNSView(_ nsView: NSInfiniteScrollView<ChangeIndex>, context: Context) {
     |                 `- note: add '@MainActor' to make instance method 'updateNSView(_:context:)' part of global actor 'MainActor'
 200 |         if updateBinding?.wrappedValue ?? false {
 201 |             nsView.layout()
     |                    `- warning: call to main actor-isolated instance method 'layout()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 202 |             if !Thread.isMainThread {
 203 |                 DispatchQueue.main.sync {
     :
 527 |     }
 528 |
 529 |     public override func layout() {
     |                          |- note: calls to instance method 'layout()' from outside of its actor context are implicitly asynchronous
     |                          `- note: main actor isolation inferred from inheritance from class 'NSScrollView'
 530 |         super.layout()
 531 |         self.sameTimeLayout += 1
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/InfiniteScrollView.swift:185:16: warning: sending 'convertedClosure' risks causing data races; this is an error in the Swift 6 language mode
 183 |             return NSHostingController(rootView: content(changeIndex)).view
 184 |         }
 185 |         return NSInfiniteScrollView(
     |                |- warning: sending 'convertedClosure' risks causing data races; this is an error in the Swift 6 language mode
     |                `- note: sending task-isolated 'convertedClosure' to main actor-isolated initializer 'init(frame:content:contentFrame:changeIndex:changeIndexIncreaseAction:changeIndexDecreaseAction:contentMultiplier:orientation:refreshAction:spacing:)' risks causing data races between main actor-isolated and task-isolated uses
 186 |             frame: frame,
 187 |             content: convertedClosure,
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/InfiniteScrollView.swift:185:16: warning: sending 'self.contentFrame' risks causing data races; this is an error in the Swift 6 language mode
 183 |             return NSHostingController(rootView: content(changeIndex)).view
 184 |         }
 185 |         return NSInfiniteScrollView(
     |                |- warning: sending 'self.contentFrame' risks causing data races; this is an error in the Swift 6 language mode
     |                `- note: sending task-isolated 'self.contentFrame' to main actor-isolated initializer 'init(frame:content:contentFrame:changeIndex:changeIndexIncreaseAction:changeIndexDecreaseAction:contentMultiplier:orientation:refreshAction:spacing:)' risks causing data races between main actor-isolated and task-isolated uses
 186 |             frame: frame,
 187 |             content: convertedClosure,
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/InfiniteScrollView.swift:185:16: warning: sending 'self.changeIndex' risks causing data races; this is an error in the Swift 6 language mode
 183 |             return NSHostingController(rootView: content(changeIndex)).view
 184 |         }
 185 |         return NSInfiniteScrollView(
     |                |- warning: sending 'self.changeIndex' risks causing data races; this is an error in the Swift 6 language mode
     |                `- note: sending task-isolated 'self.changeIndex' to main actor-isolated initializer 'init(frame:content:contentFrame:changeIndex:changeIndexIncreaseAction:changeIndexDecreaseAction:contentMultiplier:orientation:refreshAction:spacing:)' risks causing data races between main actor-isolated and task-isolated uses
 186 |             frame: frame,
 187 |             content: convertedClosure,
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/InfiniteScrollView.swift:185:16: warning: sending 'self.increaseIndexAction' risks causing data races; this is an error in the Swift 6 language mode
 183 |             return NSHostingController(rootView: content(changeIndex)).view
 184 |         }
 185 |         return NSInfiniteScrollView(
     |                |- warning: sending 'self.increaseIndexAction' risks causing data races; this is an error in the Swift 6 language mode
     |                `- note: sending task-isolated 'self.increaseIndexAction' to main actor-isolated initializer 'init(frame:content:contentFrame:changeIndex:changeIndexIncreaseAction:changeIndexDecreaseAction:contentMultiplier:orientation:refreshAction:spacing:)' risks causing data races between main actor-isolated and task-isolated uses
 186 |             frame: frame,
 187 |             content: convertedClosure,
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/InfiniteScrollView.swift:185:16: warning: sending 'self.decreaseIndexAction' risks causing data races; this is an error in the Swift 6 language mode
 183 |             return NSHostingController(rootView: content(changeIndex)).view
 184 |         }
 185 |         return NSInfiniteScrollView(
     |                |- warning: sending 'self.decreaseIndexAction' risks causing data races; this is an error in the Swift 6 language mode
     |                `- note: sending task-isolated 'self.decreaseIndexAction' to main actor-isolated initializer 'init(frame:content:contentFrame:changeIndex:changeIndexIncreaseAction:changeIndexDecreaseAction:contentMultiplier:orientation:refreshAction:spacing:)' risks causing data races between main actor-isolated and task-isolated uses
 186 |             frame: frame,
 187 |             content: convertedClosure,
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/InfiniteScrollView.swift:185:16: warning: sending 'self.orientation' risks causing data races; this is an error in the Swift 6 language mode
 183 |             return NSHostingController(rootView: content(changeIndex)).view
 184 |         }
 185 |         return NSInfiniteScrollView(
     |                |- warning: sending 'self.orientation' risks causing data races; this is an error in the Swift 6 language mode
     |                `- note: sending task-isolated 'self.orientation' to main actor-isolated initializer 'init(frame:content:contentFrame:changeIndex:changeIndexIncreaseAction:changeIndexDecreaseAction:contentMultiplier:orientation:refreshAction:spacing:)' risks causing data races between main actor-isolated and task-isolated uses
 186 |             frame: frame,
 187 |             content: convertedClosure,
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/InfiniteScrollView.swift:185:16: warning: sending 'self.refreshAction' risks causing data races; this is an error in the Swift 6 language mode
 183 |             return NSHostingController(rootView: content(changeIndex)).view
 184 |         }
 185 |         return NSInfiniteScrollView(
     |                |- warning: sending 'self.refreshAction' risks causing data races; this is an error in the Swift 6 language mode
     |                `- note: sending task-isolated 'self.refreshAction' to main actor-isolated initializer 'init(frame:content:contentFrame:changeIndex:changeIndexIncreaseAction:changeIndexDecreaseAction:contentMultiplier:orientation:refreshAction:spacing:)' risks causing data races between main actor-isolated and task-isolated uses
 186 |             frame: frame,
 187 |             content: convertedClosure,
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/InfiniteScrollView.swift:183:20: warning: sending value of non-Sendable type 'Content' risks causing data races; this is an error in the Swift 6 language mode
 181 |     public func makeNSView(context: Context) -> NSInfiniteScrollView<ChangeIndex> {
 182 |         let convertedClosure: (ChangeIndex) -> NSView = { changeIndex in
 183 |             return NSHostingController(rootView: content(changeIndex)).view
     |                    |- warning: sending value of non-Sendable type 'Content' risks causing data races; this is an error in the Swift 6 language mode
     |                    `- note: sending task-isolated value of non-Sendable type 'Content' to main actor-isolated callee risks causing races in between task-isolated and main actor-isolated uses
 184 |         }
 185 |         return NSInfiniteScrollView(
/Users/admin/builder/spi-builder-workspace/Sources/InfiniteScrollViews/InfiniteScrollView.swift:204:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 202 |             if !Thread.isMainThread {
 203 |                 DispatchQueue.main.sync {
 204 |                     updateBinding?.wrappedValue = false
     |                     |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
     |                     `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 205 |                 }
 206 |             } else {
Build complete! (7.83s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "InfiniteScrollViews",
  "name" : "InfiniteScrollViews",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "InfiniteScrollViews",
      "targets" : [
        "InfiniteScrollViews"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "InfiniteScrollViews",
      "module_type" : "SwiftTarget",
      "name" : "InfiniteScrollViews",
      "path" : "Sources/InfiniteScrollViews",
      "product_memberships" : [
        "InfiniteScrollViews"
      ],
      "sources" : [
        "InfiniteScrollView.swift",
        "PagedInfiniteScrollView.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.4"
}
Done.