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 SnapshotTestingHEIC, reference 1.6.0 (ef2b0e), with Swift 6.1 for macOS (SPM) on 1 Dec 2025 09:11:20 UTC.

Swift 6 data race errors: 2

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.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/alexey1312/SnapshotTestingHEIC.git
Reference: 1.6.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/alexey1312/SnapshotTestingHEIC
 * tag               1.6.0      -> FETCH_HEAD
HEAD is now at ef2b0e0 Little update (#15)
Cloned https://github.com/alexey1312/SnapshotTestingHEIC.git
Revision (git rev-parse @):
ef2b0e0ada05230a383a367193aadd5754d1857d
SUCCESS checkout https://github.com/alexey1312/SnapshotTestingHEIC.git at 1.6.0
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/alexey1312/SnapshotTestingHEIC.git
https://github.com/alexey1312/SnapshotTestingHEIC.git
{
  "dependencies" : [
    {
      "identity" : "swift-snapshot-testing",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.18.7",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/pointfreeco/swift-snapshot-testing.git"
    }
  ],
  "manifest_display_name" : "SnapshotTestingHEIC",
  "name" : "SnapshotTestingHEIC",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "SnapshotTestingHEIC",
      "targets" : [
        "SnapshotTestingHEIC"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SnapshotTestingHEICTests",
      "module_type" : "SwiftTarget",
      "name" : "SnapshotTestingHEICTests",
      "path" : "Tests/SnapshotTestingHEICTests",
      "sources" : [
        "SnapshotTestingHEICTests.swift",
        "SwiftUIView.swift",
        "TestViewController.swift"
      ],
      "target_dependencies" : [
        "SnapshotTestingHEIC"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SnapshotTestingHEIC",
      "module_type" : "SwiftTarget",
      "name" : "SnapshotTestingHEIC",
      "path" : "Sources/SnapshotTestingHEIC",
      "product_dependencies" : [
        "SnapshotTesting"
      ],
      "product_memberships" : [
        "SnapshotTestingHEIC"
      ],
      "sources" : [
        "HEIC/CompressionQuality.swift",
        "HEIC/NSImage+HEIC.swift",
        "HEIC/UIImage+HEIC.swift",
        "ImageComparisonHelpers.swift",
        "NSImage.swift",
        "NSView.swift",
        "NSViewController.swift",
        "SwiftUIView.swift",
        "UIImage.swift",
        "UIView.swift",
        "UIViewController.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
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/3] Write sources
[2/3] Write swift-version-2F0A5646E1D333AE.txt
[4/35] Emitting module SnapshotTesting
[5/38] Compiling SnapshotTesting UIView.swift
[6/38] Compiling SnapshotTesting UIViewController.swift
[7/38] Compiling SnapshotTesting URLRequest.swift
[8/38] Compiling SnapshotTesting NSImage.swift
[9/38] Compiling SnapshotTesting NSView.swift
[10/38] Compiling SnapshotTesting NSViewController.swift
[11/38] Compiling SnapshotTesting Data.swift
[12/38] Compiling SnapshotTesting Encodable.swift
[13/38] Compiling SnapshotTesting NSBezierPath.swift
[14/38] Compiling SnapshotTesting SnapshotTestingConfiguration.swift
[15/38] Compiling SnapshotTesting SnapshotsTestTrait.swift
[16/38] Compiling SnapshotTesting Snapshotting.swift
[17/38] Compiling SnapshotTesting Any.swift
[18/38] Compiling SnapshotTesting Diffing.swift
[19/38] Compiling SnapshotTesting Wait.swift
[20/38] Compiling SnapshotTesting Deprecations.swift
[21/38] Compiling SnapshotTesting RecordIssue.swift
[22/38] Compiling SnapshotTesting AssertSnapshot.swift
[23/38] Compiling SnapshotTesting Async.swift
[24/38] Compiling SnapshotTesting Internal.swift
[25/38] Compiling SnapshotTesting PlistEncoder.swift
[26/38] Compiling SnapshotTesting SceneKit.swift
[27/38] Compiling SnapshotTesting SpriteKit.swift
[28/38] Compiling SnapshotTesting String.swift
[29/38] Compiling SnapshotTesting CALayer.swift
[30/38] Compiling SnapshotTesting CGPath.swift
[31/38] Compiling SnapshotTesting CaseIterable.swift
[32/38] Compiling SnapshotTesting String+SpecialCharacters.swift
[33/38] Compiling SnapshotTesting View.swift
[34/38] Compiling SnapshotTesting XCTAttachment.swift
[35/38] Compiling SnapshotTesting Diff.swift
[36/38] Compiling SnapshotTesting SwiftUIView.swift
[37/38] Compiling SnapshotTesting UIBezierPath.swift
[38/38] Compiling SnapshotTesting UIImage.swift
[39/49] Compiling SnapshotTestingHEIC NSViewController.swift
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSViewController.swift:29:25: warning: main actor-isolated property 'view' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
27 |             compressionQuality: compressionQuality,
28 |             opaqueMode: opaqueMode
29 |         ).pullback { $0.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
30 |     }
31 | }
/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.
[40/49] Compiling SnapshotTestingHEIC NSImage.swift
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSImage.swift:8:16: warning: static property 'imageHEIC' is not concurrency-safe because non-'Sendable' type 'Diffing<NSImage>' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | public extension Diffing where Value == NSImage {
  7 |     /// A pixel-diffing strategy for NSImage's which requires a 100% match.
  8 |     static let imageHEIC = Diffing.imageHEIC(precision: 1, compressionQuality: .lossless)
    |                `- warning: static property 'imageHEIC' is not concurrency-safe because non-'Sendable' type 'Diffing<NSImage>' may have shared mutable state; this is an error in the Swift 6 language mode
  9 |
 10 |     /// A pixel-diffing strategy for NSImage that allows customizing how precise the matching must be.
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-snapshot-testing/Sources/SnapshotTesting/Diffing.swift:5:15: note: generic struct 'Diffing' does not conform to the 'Sendable' protocol
 3 |
 4 | /// The ability to compare `Value`s and convert them to and from `Data`.
 5 | public struct Diffing<Value> {
   |               `- note: generic struct 'Diffing' does not conform to the 'Sendable' protocol
 6 |   /// Converts a value _to_ data.
 7 |   public var toData: (Value) -> Data
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSImage.swift:4:11: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'SnapshotTesting'
  2 | import Cocoa
  3 | import XCTest
  4 | @testable import SnapshotTesting
    |           `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'SnapshotTesting'
  5 |
  6 | public extension Diffing where Value == NSImage {
  7 |     /// A pixel-diffing strategy for NSImage's which requires a 100% match.
  8 |     static let imageHEIC = Diffing.imageHEIC(precision: 1, compressionQuality: .lossless)
    |                |- note: add '@MainActor' to make static property 'imageHEIC' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  9 |
 10 |     /// A pixel-diffing strategy for NSImage that allows customizing how precise the matching must be.
[41/49] Compiling SnapshotTestingHEIC UIImage+HEIC.swift
[42/50] Compiling SnapshotTestingHEIC UIView.swift
[43/50] Compiling SnapshotTestingHEIC ImageComparisonHelpers.swift
[44/50] Compiling SnapshotTestingHEIC NSView.swift
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:29:36: warning: main actor-isolated property 'frame' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
27 |             opaqueMode: opaqueMode
28 |         ).asyncPullback { view in
29 |             let initialSize = view.frame.size
   |                                    `- warning: main actor-isolated property 'frame' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
30 |             if let size = size { view.frame.size = size }
31 |             guard view.frame.width > 0, view.frame.height > 0 else {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:129:18: note: property declared here
127 | - (void)setFrameOrigin:(NSPoint)newOrigin;
128 | - (void)setFrameSize:(NSSize)newSize;
129 | @property NSRect frame;
    |                  `- note: property declared here
130 | @property CGFloat frameRotation;
131 | @property CGFloat frameCenterRotation API_AVAILABLE(macos(10.5));
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:30:39: warning: main actor-isolated property 'frame' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
28 |         ).asyncPullback { view in
29 |             let initialSize = view.frame.size
30 |             if let size = size { view.frame.size = size }
   |                                       `- warning: main actor-isolated property 'frame' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
31 |             guard view.frame.width > 0, view.frame.height > 0 else {
32 |                 fatalError("View not renderable to image at size \(view.frame.size)")
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:129:18: note: mutation of this property is only permitted within the actor
127 | - (void)setFrameOrigin:(NSPoint)newOrigin;
128 | - (void)setFrameSize:(NSSize)newSize;
129 | @property NSRect frame;
    |                  `- note: mutation of this property is only permitted within the actor
130 | @property CGFloat frameRotation;
131 | @property CGFloat frameCenterRotation API_AVAILABLE(macos(10.5));
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:31:24: warning: main actor-isolated property 'frame' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
29 |             let initialSize = view.frame.size
30 |             if let size = size { view.frame.size = size }
31 |             guard view.frame.width > 0, view.frame.height > 0 else {
   |                        `- warning: main actor-isolated property 'frame' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
32 |                 fatalError("View not renderable to image at size \(view.frame.size)")
33 |             }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:129:18: note: property declared here
127 | - (void)setFrameOrigin:(NSPoint)newOrigin;
128 | - (void)setFrameSize:(NSSize)newSize;
129 | @property NSRect frame;
    |                  `- note: property declared here
130 | @property CGFloat frameRotation;
131 | @property CGFloat frameCenterRotation API_AVAILABLE(macos(10.5));
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:31:46: warning: main actor-isolated property 'frame' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
29 |             let initialSize = view.frame.size
30 |             if let size = size { view.frame.size = size }
31 |             guard view.frame.width > 0, view.frame.height > 0 else {
   |                                              `- warning: main actor-isolated property 'frame' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
32 |                 fatalError("View not renderable to image at size \(view.frame.size)")
33 |             }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:129:18: note: property declared here
127 | - (void)setFrameOrigin:(NSPoint)newOrigin;
128 | - (void)setFrameSize:(NSSize)newSize;
129 | @property NSRect frame;
    |                  `- note: property declared here
130 | @property CGFloat frameRotation;
131 | @property CGFloat frameCenterRotation API_AVAILABLE(macos(10.5));
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:32:73: warning: main actor-isolated property 'frame' can not be referenced from a nonisolated autoclosure; this is an error in the Swift 6 language mode
30 |             if let size = size { view.frame.size = size }
31 |             guard view.frame.width > 0, view.frame.height > 0 else {
32 |                 fatalError("View not renderable to image at size \(view.frame.size)")
   |                                                                         `- warning: main actor-isolated property 'frame' can not be referenced from a nonisolated autoclosure; this is an error in the Swift 6 language mode
33 |             }
34 |             return view.snapshot ?? Async { callback in
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:129:18: note: property declared here
127 | - (void)setFrameOrigin:(NSPoint)newOrigin;
128 | - (void)setFrameSize:(NSSize)newSize;
129 | @property NSRect frame;
    |                  `- note: property declared here
130 | @property CGFloat frameRotation;
131 | @property CGFloat frameCenterRotation API_AVAILABLE(macos(10.5));
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:34:25: warning: main actor-isolated property 'snapshot' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
32 |                 fatalError("View not renderable to image at size \(view.frame.size)")
33 |             }
34 |             return view.snapshot ?? Async { callback in
   |                         `- warning: main actor-isolated property 'snapshot' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
35 |                 addImagesForRenderedViews(view).sequence().run { views in
36 |                     let bitmapRep = view.bitmapImageRepForCachingDisplay(in: view.bounds)!
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-snapshot-testing/Sources/SnapshotTesting/Common/View.swift:834:9: note: property declared here
 832 |
 833 |   extension View {
 834 |     var snapshot: Async<Image>? {
     |         `- note: property declared here
 835 |       func inWindow<T>(_ perform: () -> T) -> T {
 836 |         #if os(macOS)
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:36:42: warning: call to main actor-isolated instance method 'bitmapImageRepForCachingDisplay(in:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
34 |             return view.snapshot ?? Async { callback in
35 |                 addImagesForRenderedViews(view).sequence().run { views in
36 |                     let bitmapRep = view.bitmapImageRepForCachingDisplay(in: view.bounds)!
   |                                          `- warning: call to main actor-isolated instance method 'bitmapImageRepForCachingDisplay(in:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
37 |                     view.cacheDisplay(in: view.bounds, to: bitmapRep)
38 |                     let image = NSImage(size: view.bounds.size)
AppKit.NSView.bitmapImageRepForCachingDisplay:2:22: note: calls to instance method 'bitmapImageRepForCachingDisplay(in:)' from outside of its actor context are implicitly asynchronous
1 | class NSView {
2 | @MainActor open func bitmapImageRepForCachingDisplay(in rect: NSRect) -> NSBitmapImageRep?}
  |                      |- note: calls to instance method 'bitmapImageRepForCachingDisplay(in:)' from outside of its actor context are implicitly asynchronous
  |                      `- note: main actor isolation inferred from inheritance from class 'NSResponder'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:36:83: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
34 |             return view.snapshot ?? Async { callback in
35 |                 addImagesForRenderedViews(view).sequence().run { views in
36 |                     let bitmapRep = view.bitmapImageRepForCachingDisplay(in: view.bounds)!
   |                                                                                   `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
37 |                     view.cacheDisplay(in: view.bounds, to: bitmapRep)
38 |                     let image = NSImage(size: view.bounds.size)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
    |                  `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:37:26: warning: call to main actor-isolated instance method 'cacheDisplay(in:to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
35 |                 addImagesForRenderedViews(view).sequence().run { views in
36 |                     let bitmapRep = view.bitmapImageRepForCachingDisplay(in: view.bounds)!
37 |                     view.cacheDisplay(in: view.bounds, to: bitmapRep)
   |                          `- warning: call to main actor-isolated instance method 'cacheDisplay(in:to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
38 |                     let image = NSImage(size: view.bounds.size)
39 |                     image.addRepresentation(bitmapRep)
AppKit.NSView.cacheDisplay:2:22: note: calls to instance method 'cacheDisplay(in:to:)' from outside of its actor context are implicitly asynchronous
1 | class NSView {
2 | @MainActor open func cacheDisplay(in rect: NSRect, to bitmapImageRep: NSBitmapImageRep)}
  |                      |- note: calls to instance method 'cacheDisplay(in:to:)' from outside of its actor context are implicitly asynchronous
  |                      `- note: main actor isolation inferred from inheritance from class 'NSResponder'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:37:48: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
35 |                 addImagesForRenderedViews(view).sequence().run { views in
36 |                     let bitmapRep = view.bitmapImageRepForCachingDisplay(in: view.bounds)!
37 |                     view.cacheDisplay(in: view.bounds, to: bitmapRep)
   |                                                `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
38 |                     let image = NSImage(size: view.bounds.size)
39 |                     image.addRepresentation(bitmapRep)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
    |                  `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:38:52: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
36 |                     let bitmapRep = view.bitmapImageRepForCachingDisplay(in: view.bounds)!
37 |                     view.cacheDisplay(in: view.bounds, to: bitmapRep)
38 |                     let image = NSImage(size: view.bounds.size)
   |                                                    `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
39 |                     image.addRepresentation(bitmapRep)
40 |                     callback(image)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
    |                  `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:41:40: warning: call to main actor-isolated instance method 'removeFromSuperview()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
39 |                     image.addRepresentation(bitmapRep)
40 |                     callback(image)
41 |                     views.forEach { $0.removeFromSuperview() }
   |                                        `- warning: call to main actor-isolated instance method 'removeFromSuperview()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
42 |                     view.frame.size = initialSize
43 |                 }
AppKit.NSView.removeFromSuperview:2:22: note: calls to instance method 'removeFromSuperview()' from outside of its actor context are implicitly asynchronous
1 | class NSView {
2 | @MainActor open func removeFromSuperview()}
  |                      |- note: calls to instance method 'removeFromSuperview()' from outside of its actor context are implicitly asynchronous
  |                      `- note: main actor isolation inferred from inheritance from class 'NSResponder'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:42:26: warning: main actor-isolated property 'frame' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
40 |                     callback(image)
41 |                     views.forEach { $0.removeFromSuperview() }
42 |                     view.frame.size = initialSize
   |                          `- warning: main actor-isolated property 'frame' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
43 |                 }
44 |             }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:129:18: note: mutation of this property is only permitted within the actor
127 | - (void)setFrameOrigin:(NSPoint)newOrigin;
128 | - (void)setFrameSize:(NSSize)newSize;
129 | @property NSRect frame;
    |                  `- note: mutation of this property is only permitted within the actor
130 | @property CGFloat frameRotation;
131 | @property CGFloat frameCenterRotation API_AVAILABLE(macos(10.5));
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:37:26: warning: sending 'bitmapRep' risks causing data races; this is an error in the Swift 6 language mode
35 |                 addImagesForRenderedViews(view).sequence().run { views in
36 |                     let bitmapRep = view.bitmapImageRepForCachingDisplay(in: view.bounds)!
37 |                     view.cacheDisplay(in: view.bounds, to: bitmapRep)
   |                          |- warning: sending 'bitmapRep' risks causing data races; this is an error in the Swift 6 language mode
   |                          `- note: sending 'bitmapRep' to main actor-isolated instance method 'cacheDisplay(in:to:)' risks causing data races between main actor-isolated and local nonisolated uses
38 |                     let image = NSImage(size: view.bounds.size)
39 |                     image.addRepresentation(bitmapRep)
   |                           `- note: access can happen concurrently
40 |                     callback(image)
41 |                     views.forEach { $0.removeFromSuperview() }
[45/50] Compiling SnapshotTestingHEIC UIImage.swift
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/UIImage.swift:252:16: warning: static property 'device' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
250 | final class ThresholdImageProcessorKernel: CIImageProcessorKernel {
251 |     static let inputThresholdKey = "thresholdValue"
252 |     static let device = MTLCreateSystemDefaultDevice()
    |                `- warning: static property 'device' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
253 |
254 |     override class func process(with inputs: [CIImageProcessorInput]?, arguments: [String: Any]?, output: CIImageProcessorOutput) throws {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDevice.h:434:11: note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
 432 |  */
 433 | API_AVAILABLE(macos(10.11), ios(8.0))
 434 | @protocol MTLDevice <NSObject>
     |           `- note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
 435 |
 436 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/UIImage.swift:200:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
198 |
199 | #if os(iOS) || os(tvOS) || os(macOS)
200 | import CoreImage.CIKernel
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
201 | import MetalPerformanceShaders
202 |
    :
250 | final class ThresholdImageProcessorKernel: CIImageProcessorKernel {
251 |     static let inputThresholdKey = "thresholdValue"
252 |     static let device = MTLCreateSystemDefaultDevice()
    |                |- note: add '@MainActor' to make static property 'device' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
253 |
254 |     override class func process(with inputs: [CIImageProcessorInput]?, arguments: [String: Any]?, output: CIImageProcessorOutput) throws {
[46/50] Compiling SnapshotTestingHEIC SwiftUIView.swift
[47/50] Compiling SnapshotTestingHEIC UIViewController.swift
[48/50] Compiling SnapshotTestingHEIC CompressionQuality.swift
[49/50] Compiling SnapshotTestingHEIC NSImage+HEIC.swift
[50/50] Emitting module SnapshotTestingHEIC
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSImage.swift:8:16: warning: static property 'imageHEIC' is not concurrency-safe because non-'Sendable' type 'Diffing<NSImage>' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | public extension Diffing where Value == NSImage {
  7 |     /// A pixel-diffing strategy for NSImage's which requires a 100% match.
  8 |     static let imageHEIC = Diffing.imageHEIC(precision: 1, compressionQuality: .lossless)
    |                `- warning: static property 'imageHEIC' is not concurrency-safe because non-'Sendable' type 'Diffing<NSImage>' may have shared mutable state; this is an error in the Swift 6 language mode
  9 |
 10 |     /// A pixel-diffing strategy for NSImage that allows customizing how precise the matching must be.
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-snapshot-testing/Sources/SnapshotTesting/Diffing.swift:5:15: note: generic struct 'Diffing' does not conform to the 'Sendable' protocol
 3 |
 4 | /// The ability to compare `Value`s and convert them to and from `Data`.
 5 | public struct Diffing<Value> {
   |               `- note: generic struct 'Diffing' does not conform to the 'Sendable' protocol
 6 |   /// Converts a value _to_ data.
 7 |   public var toData: (Value) -> Data
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSImage.swift:4:11: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'SnapshotTesting'
  2 | import Cocoa
  3 | import XCTest
  4 | @testable import SnapshotTesting
    |           `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'SnapshotTesting'
  5 |
  6 | public extension Diffing where Value == NSImage {
  7 |     /// A pixel-diffing strategy for NSImage's which requires a 100% match.
  8 |     static let imageHEIC = Diffing.imageHEIC(precision: 1, compressionQuality: .lossless)
    |                |- note: add '@MainActor' to make static property 'imageHEIC' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  9 |
 10 |     /// A pixel-diffing strategy for NSImage that allows customizing how precise the matching must be.
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/UIImage.swift:252:16: warning: static property 'device' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
250 | final class ThresholdImageProcessorKernel: CIImageProcessorKernel {
251 |     static let inputThresholdKey = "thresholdValue"
252 |     static let device = MTLCreateSystemDefaultDevice()
    |                `- warning: static property 'device' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
253 |
254 |     override class func process(with inputs: [CIImageProcessorInput]?, arguments: [String: Any]?, output: CIImageProcessorOutput) throws {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDevice.h:434:11: note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
 432 |  */
 433 | API_AVAILABLE(macos(10.11), ios(8.0))
 434 | @protocol MTLDevice <NSObject>
     |           `- note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
 435 |
 436 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/UIImage.swift:200:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
198 |
199 | #if os(iOS) || os(tvOS) || os(macOS)
200 | import CoreImage.CIKernel
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
201 | import MetalPerformanceShaders
202 |
    :
250 | final class ThresholdImageProcessorKernel: CIImageProcessorKernel {
251 |     static let inputThresholdKey = "thresholdValue"
252 |     static let device = MTLCreateSystemDefaultDevice()
    |                |- note: add '@MainActor' to make static property 'device' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
253 |
254 |     override class func process(with inputs: [CIImageProcessorInput]?, arguments: [String: Any]?, output: CIImageProcessorOutput) throws {
Build complete! (26.94s)
Fetching https://github.com/pointfreeco/swift-snapshot-testing.git from cache
Fetched https://github.com/pointfreeco/swift-snapshot-testing.git from cache (1.89s)
Computing version for https://github.com/pointfreeco/swift-snapshot-testing.git
Computed https://github.com/pointfreeco/swift-snapshot-testing.git at 1.18.7 (2.64s)
Fetching https://github.com/pointfreeco/swift-custom-dump from cache
Fetching https://github.com/swiftlang/swift-syntax from cache
Fetched https://github.com/pointfreeco/swift-custom-dump from cache (1.01s)
Fetched https://github.com/swiftlang/swift-syntax from cache (1.85s)
Computing version for https://github.com/pointfreeco/swift-custom-dump
Computed https://github.com/pointfreeco/swift-custom-dump at 1.3.3 (2.40s)
Fetching https://github.com/pointfreeco/xctest-dynamic-overlay from cache
Fetched https://github.com/pointfreeco/xctest-dynamic-overlay from cache (0.77s)
Computing version for https://github.com/swiftlang/swift-syntax
Computed https://github.com/swiftlang/swift-syntax at 602.0.0 (1.50s)
Computing version for https://github.com/pointfreeco/xctest-dynamic-overlay
Computed https://github.com/pointfreeco/xctest-dynamic-overlay at 1.7.0 (0.51s)
Creating working copy for https://github.com/pointfreeco/swift-snapshot-testing.git
Working copy of https://github.com/pointfreeco/swift-snapshot-testing.git resolved at 1.18.7
Creating working copy for https://github.com/pointfreeco/swift-custom-dump
Working copy of https://github.com/pointfreeco/swift-custom-dump resolved at 1.3.3
Creating working copy for https://github.com/pointfreeco/xctest-dynamic-overlay
Working copy of https://github.com/pointfreeco/xctest-dynamic-overlay resolved at 1.7.0
Creating working copy for https://github.com/swiftlang/swift-syntax
Working copy of https://github.com/swiftlang/swift-syntax resolved at 602.0.0
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-snapshot-testing",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.18.7",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/pointfreeco/swift-snapshot-testing.git"
    }
  ],
  "manifest_display_name" : "SnapshotTestingHEIC",
  "name" : "SnapshotTestingHEIC",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "SnapshotTestingHEIC",
      "targets" : [
        "SnapshotTestingHEIC"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SnapshotTestingHEICTests",
      "module_type" : "SwiftTarget",
      "name" : "SnapshotTestingHEICTests",
      "path" : "Tests/SnapshotTestingHEICTests",
      "sources" : [
        "SnapshotTestingHEICTests.swift",
        "SwiftUIView.swift",
        "TestViewController.swift"
      ],
      "target_dependencies" : [
        "SnapshotTestingHEIC"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SnapshotTestingHEIC",
      "module_type" : "SwiftTarget",
      "name" : "SnapshotTestingHEIC",
      "path" : "Sources/SnapshotTestingHEIC",
      "product_dependencies" : [
        "SnapshotTesting"
      ],
      "product_memberships" : [
        "SnapshotTestingHEIC"
      ],
      "sources" : [
        "HEIC/CompressionQuality.swift",
        "HEIC/NSImage+HEIC.swift",
        "HEIC/UIImage+HEIC.swift",
        "ImageComparisonHelpers.swift",
        "NSImage.swift",
        "NSView.swift",
        "NSViewController.swift",
        "SwiftUIView.swift",
        "UIImage.swift",
        "UIView.swift",
        "UIViewController.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
Done.