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 JSONDrivenUI, reference 0.4.0 (1cba81), with Swift 6.0 for macOS (SPM) on 16 Sep 2024 01:18:26 UTC.

Swift 6 data race errors: 2

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/EnesKaraosman/JSONDrivenUI.git
Reference: 0.4.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/EnesKaraosman/JSONDrivenUI
 * tag               0.4.0      -> FETCH_HEAD
HEAD is now at 1cba81c feat: add macOS12+ support (#2)
Cloned https://github.com/EnesKaraosman/JSONDrivenUI.git
Revision (git rev-parse @):
1cba81c6eaf25179c882d554faee6f4476f9747e
SUCCESS checkout https://github.com/EnesKaraosman/JSONDrivenUI.git at 0.4.0
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/EnesKaraosman/JSONDrivenUI.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
Building for debugging...
[0/4] Write sources
[2/4] Copying PrivacyInfo.xcprivacy
[3/4] Write swift-version-117DEE11B69C53C9.txt
[5/63] Emitting module Kingfisher
[6/69] Compiling Kingfisher Runtime.swift
[7/69] Compiling Kingfisher SizeExtensions.swift
[8/69] Compiling Kingfisher String+MD5.swift
[9/69] Compiling Kingfisher AnimatedImageView.swift
[10/69] Compiling Kingfisher Indicator.swift
[11/69] Compiling Kingfisher resource_bundle_accessor.swift
[12/69] Compiling Kingfisher KingfisherError.swift
[13/69] Compiling Kingfisher KingfisherManager.swift
[14/69] Compiling Kingfisher KingfisherOptionsInfo.swift
[15/69] Compiling Kingfisher Filter.swift
[16/69] Compiling Kingfisher GIFAnimatedImage.swift
[17/69] Compiling Kingfisher GraphicsContext.swift
[18/69] Compiling Kingfisher Image.swift
[19/69] Compiling Kingfisher CacheSerializer.swift
[20/69] Compiling Kingfisher DiskStorage.swift
[21/69] Compiling Kingfisher FormatIndicatedCacheSerializer.swift
[22/69] Compiling Kingfisher ImageCache.swift
[23/69] Compiling Kingfisher MemoryStorage.swift
[24/69] Compiling Kingfisher Storage.swift
[25/69] Compiling Kingfisher CPListItem+Kingfisher.swift
[26/69] Compiling Kingfisher AuthenticationChallengeResponsable.swift
[27/69] Compiling Kingfisher ImageDataProcessor.swift
[28/69] Compiling Kingfisher ImageDownloader.swift
[29/69] Compiling Kingfisher ImageDownloaderDelegate.swift
[30/69] Compiling Kingfisher ImageModifier.swift
[31/69] Compiling Kingfisher ImagePrefetcher.swift
[32/69] Compiling Kingfisher ImageView+Kingfisher.swift
[33/69] Compiling Kingfisher NSButton+Kingfisher.swift
[34/69] Compiling Kingfisher NSTextAttachment+Kingfisher.swift
[35/69] Compiling Kingfisher TVMonogramView+Kingfisher.swift
[36/69] Compiling Kingfisher UIButton+Kingfisher.swift
[37/69] Compiling Kingfisher WKInterfaceImage+Kingfisher.swift
[38/69] Compiling Kingfisher AVAssetImageDataProvider.swift
[39/69] Compiling Kingfisher ImageDataProvider.swift
[40/69] Compiling Kingfisher PHPickerResultImageDataProvider.swift
[41/69] Compiling Kingfisher Resource.swift
[42/69] Compiling Kingfisher Source.swift
[43/69] Compiling Kingfisher KF.swift
[44/69] Compiling Kingfisher KFOptionsSetter.swift
[45/69] Compiling Kingfisher Kingfisher.swift
[46/69] Compiling Kingfisher ImageDrawing.swift
[47/69] Compiling Kingfisher ImageFormat.swift
[48/69] Compiling Kingfisher ImageProcessor.swift
[49/69] Compiling Kingfisher ImageProgressive.swift
[50/69] Compiling Kingfisher ImageTransition.swift
[51/69] Compiling Kingfisher Placeholder.swift
[52/69] Compiling Kingfisher ImageContext.swift
[53/69] Compiling Kingfisher KFAnimatedImage.swift
[54/69] Compiling Kingfisher KFImage.swift
[55/69] Compiling Kingfisher KFImageOptions.swift
[56/69] Compiling Kingfisher KFImageProtocol.swift
[57/69] Compiling Kingfisher KFImageRenderer.swift
[58/69] Compiling Kingfisher Box.swift
[59/69] Compiling Kingfisher CallbackQueue.swift
[60/69] Compiling Kingfisher Delegate.swift
[61/69] Compiling Kingfisher DisplayLink.swift
[62/69] Compiling Kingfisher ExtensionHelpers.swift
[63/69] Compiling Kingfisher Result.swift
[64/69] Compiling Kingfisher RedirectHandler.swift
[65/69] Compiling Kingfisher RequestModifier.swift
[66/69] Compiling Kingfisher RetryStrategy.swift
[67/69] Compiling Kingfisher SessionDataTask.swift
[68/69] Compiling Kingfisher SessionDelegate.swift
[69/69] Compiling Kingfisher ImageBinder.swift
[70/81] Compiling JSONDrivenUI JSONDataViewProtocol.swift
[71/82] Compiling JSONDrivenUI ViewProperties.swift
[72/82] Compiling JSONDrivenUI ViewMaterial.swift
[73/82] Compiling JSONDrivenUI View+Extensions.swift
[74/82] Compiling JSONDrivenUI ModifierFactory.swift
[75/82] Compiling JSONDrivenUI Values.swift
[76/82] Compiling JSONDrivenUI PresentableProtocol.swift
[77/82] Compiling JSONDrivenUI ViewType.swift
[78/82] Compiling JSONDrivenUI JSONDataView.swift
/Users/admin/builder/spi-builder-workspace/Sources/JSONDrivenUI/JSONDataView.swift:14:12: warning: main actor-isolated initializer 'init(json:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 8 | import SwiftUI
 9 |
10 | public struct JSONDataView: View, JSONDataViewProtocol {
   |                                   `- note: add '@preconcurrency' to the 'JSONDataViewProtocol' conformance to defer isolation checking to run time
11 |
12 |     public var json: Data
13 |
14 |     public init(json: Data) {
   |            |- warning: main actor-isolated initializer 'init(json:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
   |            `- note: add 'nonisolated' to 'init(json:)' to make this initializer not isolated to the actor
15 |         self.json = json
16 |     }
/Users/admin/builder/spi-builder-workspace/Sources/JSONDrivenUI/Protocols/JSONDataViewProtocol.swift:13:5: note: mark the protocol requirement 'init(json:)' 'async' to allow actor-isolated conformances
11 |     var json: Data { get }
12 |
13 |     init(json: Data)
   |     `- note: mark the protocol requirement 'init(json:)' 'async' to allow actor-isolated conformances
14 | }
15 |
/Users/admin/builder/spi-builder-workspace/Sources/JSONDrivenUI/JSONDataView.swift:18:30: warning: main actor-isolated instance method 'toPresentable()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
16 |     }
17 |
18 |     @ViewBuilder public func toPresentable() -> some View {
   |                              |- warning: main actor-isolated instance method 'toPresentable()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
   |                              `- note: add 'nonisolated' to 'toPresentable()' to make this instance method not isolated to the actor
19 |         if let material = try? JSONDecoder().decode(
20 |             ViewMaterial.self,
/Users/admin/builder/spi-builder-workspace/Sources/JSONDrivenUI/Protocols/PresentableProtocol.swift:13:10: note: mark the protocol requirement 'toPresentable()' 'async' to allow actor-isolated conformances
11 |     associatedtype Content: View
12 |
13 |     func toPresentable() -> Content
   |          `- note: mark the protocol requirement 'toPresentable()' 'async' to allow actor-isolated conformances
14 | }
15 |
[79/82] Compiling JSONDrivenUI AxisBasedStack.swift
[80/82] Compiling JSONDrivenUI Color+Extensions.swift
[81/82] Emitting module JSONDrivenUI
/Users/admin/builder/spi-builder-workspace/Sources/JSONDrivenUI/JSONDataView.swift:14:12: warning: main actor-isolated initializer 'init(json:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 8 | import SwiftUI
 9 |
10 | public struct JSONDataView: View, JSONDataViewProtocol {
   |                                   `- note: add '@preconcurrency' to the 'JSONDataViewProtocol' conformance to defer isolation checking to run time
11 |
12 |     public var json: Data
13 |
14 |     public init(json: Data) {
   |            |- warning: main actor-isolated initializer 'init(json:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
   |            `- note: add 'nonisolated' to 'init(json:)' to make this initializer not isolated to the actor
15 |         self.json = json
16 |     }
/Users/admin/builder/spi-builder-workspace/Sources/JSONDrivenUI/Protocols/JSONDataViewProtocol.swift:13:5: note: mark the protocol requirement 'init(json:)' 'async' to allow actor-isolated conformances
11 |     var json: Data { get }
12 |
13 |     init(json: Data)
   |     `- note: mark the protocol requirement 'init(json:)' 'async' to allow actor-isolated conformances
14 | }
15 |
/Users/admin/builder/spi-builder-workspace/Sources/JSONDrivenUI/JSONDataView.swift:18:30: warning: main actor-isolated instance method 'toPresentable()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
16 |     }
17 |
18 |     @ViewBuilder public func toPresentable() -> some View {
   |                              |- warning: main actor-isolated instance method 'toPresentable()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
   |                              `- note: add 'nonisolated' to 'toPresentable()' to make this instance method not isolated to the actor
19 |         if let material = try? JSONDecoder().decode(
20 |             ViewMaterial.self,
/Users/admin/builder/spi-builder-workspace/Sources/JSONDrivenUI/Protocols/PresentableProtocol.swift:13:10: note: mark the protocol requirement 'toPresentable()' 'async' to allow actor-isolated conformances
11 |     associatedtype Content: View
12 |
13 |     func toPresentable() -> Content
   |          `- note: mark the protocol requirement 'toPresentable()' 'async' to allow actor-isolated conformances
14 | }
15 |
[82/82] Compiling JSONDrivenUI ViewFactory.swift
/Users/admin/builder/spi-builder-workspace/Sources/JSONDrivenUI/Factories/ViewFactory.swift:28:17: warning: call to main actor-isolated initializer 'init(axis:content:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 26 |
 27 |             ScrollView(axis, showsIndicators: showsIndicators) {
 28 |                 AxisBasedStack(axis: axis) {
    |                 `- warning: call to main actor-isolated initializer 'init(axis:content:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 29 |                     ForEach(subviews) { (subview) in
 30 |                         ViewFactory(material: subview).toPresentable()
/Users/admin/builder/spi-builder-workspace/Sources/JSONDrivenUI/AxisBasedStack.swift:15:5: note: calls to initializer 'init(axis:content:)' from outside of its actor context are implicitly asynchronous
13 |     let content: Content
14 |
15 |     init(axis: Axis.Set, @ViewBuilder content: () -> Content) {
   |     `- note: calls to initializer 'init(axis:content:)' from outside of its actor context are implicitly asynchronous
16 |         self.axis = axis
17 |         self.content = content()
/Users/admin/builder/spi-builder-workspace/Sources/JSONDrivenUI/Factories/ViewFactory.swift:151:18: warning: call to main actor-isolated instance method 'resizable(capInsets:resizingMode:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
137 |
138 |     // MARK: - Image
139 |     @ViewBuilder func image() -> some View {
    |                       `- note: add '@MainActor' to make instance method 'image()' part of global actor 'MainActor'
140 |         if let systemIconName = material.values?.systemIconName {
141 |             Image(systemName: systemIconName)
    :
149 |         } else if let remoteUrl = material.values?.imageUrl {
150 |             KFImage(URL(string: remoteUrl))
151 |                 .resizable()
    |                  `- warning: call to main actor-isolated instance method 'resizable(capInsets:resizingMode:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
152 |                 .scaledToFit()
153 |         } else {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Kingfisher/Sources/SwiftUI/KFImage.swift:51:17: note: calls to instance method 'resizable(capInsets:resizingMode:)' from outside of its actor context are implicitly asynchronous
 49 | extension KFImage {
 50 |
 51 |     public func resizable(
    |                 `- note: calls to instance method 'resizable(capInsets:resizingMode:)' from outside of its actor context are implicitly asynchronous
 52 |         capInsets: EdgeInsets = EdgeInsets(),
 53 |         resizingMode: Image.ResizingMode = .stretch) -> KFImage
/Users/admin/builder/spi-builder-workspace/Sources/JSONDrivenUI/Factories/ViewFactory.swift:161:9: warning: call to main actor-isolated initializer 'init(minLength:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
157 |
158 |     // MARK: - Spacer
159 |     @ViewBuilder func spacer() -> some View {
    |                       `- note: add '@MainActor' to make instance method 'spacer()' part of global actor 'MainActor'
160 |         let minLength = material.properties?.minLength.toCGFloat()
161 |         Spacer(minLength: minLength)
    |         `- warning: call to main actor-isolated initializer 'init(minLength:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
162 |     }
163 |
SwiftUICore.Spacer:4:50: note: calls to initializer 'init(minLength:)' from outside of its actor context are implicitly asynchronous
2 | @MainActor @frozen @preconcurrency public struct Spacer {
3 |     @MainActor @preconcurrency public var minLength: CGFloat?
4 |     @MainActor @inlinable @preconcurrency public init(minLength: CGFloat? = nil)
  |                                                  `- note: calls to initializer 'init(minLength:)' from outside of its actor context are implicitly asynchronous
5 |     @available(iOS 13.0, tvOS 13.0, watchOS 6.0, macOS 10.15, *)
6 |     public typealias Body = Never
/Users/admin/builder/spi-builder-workspace/Sources/JSONDrivenUI/Factories/ViewFactory.swift:187:42: warning: call to main actor-isolated instance method 'embedInAnyView()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
181 |     }
182 |
183 |     @ViewBuilder func toPresentable() -> some View {
    |                       `- note: add '@MainActor' to make instance method 'toPresentable()' part of global actor 'MainActor'
184 |
185 |         let prop = material.properties
186 |
187 |         let uiComponent = buildDefault().embedInAnyView()
    |                                          `- warning: call to main actor-isolated instance method 'embedInAnyView()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
188 |         uiComponent
189 |             .modifier(ModifierFactory.PaddingModifier(padding: prop?.padding.toCGFloat()))
/Users/admin/builder/spi-builder-workspace/Sources/JSONDrivenUI/Extensions/View+Extensions.swift:12:10: note: calls to instance method 'embedInAnyView()' from outside of its actor context are implicitly asynchronous
10 | internal extension View {
11 |
12 |     func embedInAnyView() -> AnyView {
   |          `- note: calls to instance method 'embedInAnyView()' from outside of its actor context are implicitly asynchronous
13 |         AnyView(self)
14 |     }
/Users/admin/builder/spi-builder-workspace/Sources/JSONDrivenUI/Factories/ViewFactory.swift:28:17: warning: sending task-isolated value of type '() -> ForEach<[ViewMaterial], UUID, some View>' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
 26 |
 27 |             ScrollView(axis, showsIndicators: showsIndicators) {
 28 |                 AxisBasedStack(axis: axis) {
    |                 `- warning: sending task-isolated value of type '() -> ForEach<[ViewMaterial], UUID, some View>' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
 29 |                     ForEach(subviews) { (subview) in
 30 |                         ViewFactory(material: subview).toPresentable()
/Users/admin/builder/spi-builder-workspace/Sources/JSONDrivenUI/Factories/ViewFactory.swift:187:42: warning: sending task-isolated value of type 'some View' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
185 |         let prop = material.properties
186 |
187 |         let uiComponent = buildDefault().embedInAnyView()
    |                                          `- warning: sending task-isolated value of type 'some View' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
188 |         uiComponent
189 |             .modifier(ModifierFactory.PaddingModifier(padding: prop?.padding.toCGFloat()))
Build complete! (41.74s)
Fetching https://github.com/onevcat/Kingfisher.git
[1/30533] Fetching kingfisher
Fetched https://github.com/onevcat/Kingfisher.git from cache (9.11s)
Computing version for https://github.com/onevcat/Kingfisher.git
Computed https://github.com/onevcat/Kingfisher.git at 7.12.0 (0.53s)
Creating working copy for https://github.com/onevcat/Kingfisher.git
Working copy of https://github.com/onevcat/Kingfisher.git resolved at 7.12.0
warning: 'kingfisher': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/.build/checkouts/Kingfisher/Sources/Info.plist
Build complete.
{
  "dependencies" : [
    {
      "identity" : "kingfisher",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "7.11.0",
            "upper_bound" : "8.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/onevcat/Kingfisher.git"
    }
  ],
  "manifest_display_name" : "JSONDrivenUI",
  "name" : "JSONDrivenUI",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "14.0"
    },
    {
      "name" : "macos",
      "version" : "12.0"
    }
  ],
  "products" : [
    {
      "name" : "JSONDrivenUI",
      "targets" : [
        "JSONDrivenUI"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "JSONDrivenUITests",
      "module_type" : "SwiftTarget",
      "name" : "JSONDrivenUITests",
      "path" : "Tests/JSONDrivenUITests",
      "sources" : [
        "JSONDrivenUITests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "JSONDrivenUI"
      ],
      "type" : "test"
    },
    {
      "c99name" : "JSONDrivenUI",
      "module_type" : "SwiftTarget",
      "name" : "JSONDrivenUI",
      "path" : "Sources/JSONDrivenUI",
      "product_dependencies" : [
        "Kingfisher"
      ],
      "product_memberships" : [
        "JSONDrivenUI"
      ],
      "sources" : [
        "AxisBasedStack.swift",
        "Extensions/Color+Extensions.swift",
        "Extensions/View+Extensions.swift",
        "Factories/ModifierFactory.swift",
        "Factories/ViewFactory.swift",
        "JSONDataView.swift",
        "Protocols/JSONDataViewProtocol.swift",
        "Protocols/PresentableProtocol.swift",
        "Values.swift",
        "ViewMaterial.swift",
        "ViewProperties.swift",
        "ViewType.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.8"
}
Done.