Build Information
Successful build of SnapshotTestingHEIC, reference master (2d5002
), with Swift 6.0 for macOS (SPM) on 10 Feb 2025 17:05:22 UTC.
Swift 6 data race errors: 2
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.2.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.60.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/alexey1312/SnapshotTestingHEIC.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/alexey1312/SnapshotTestingHEIC
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 2d50026 Merge pull request #14 from buscarini/master
Cloned https://github.com/alexey1312/SnapshotTestingHEIC.git
Revision (git rev-parse @):
2d50026929f78498b56adefbd2cd6d6257243041
SUCCESS checkout https://github.com/alexey1312/SnapshotTestingHEIC.git at master
Fetching https://github.com/swiftlang/swift-syntax
Fetching https://github.com/pointfreeco/swift-snapshot-testing.git
[1/12826] Fetching swift-snapshot-testing
[4234/81167] Fetching swift-snapshot-testing, swift-syntax
Fetched https://github.com/swiftlang/swift-syntax from cache (3.99s)
Fetched https://github.com/pointfreeco/swift-snapshot-testing.git from cache (3.99s)
Computing version for https://github.com/pointfreeco/swift-snapshot-testing.git
Computed https://github.com/pointfreeco/swift-snapshot-testing.git at 1.17.4 (0.58s)
Computing version for https://github.com/swiftlang/swift-syntax
Computed https://github.com/swiftlang/swift-syntax at 600.0.0-prerelease-2024-09-04 (0.66s)
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.17.4
Creating working copy for https://github.com/swiftlang/swift-syntax
Working copy of https://github.com/swiftlang/swift-syntax resolved at 600.0.0-prerelease-2024-09-04
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "snapshottestingheic",
"name": "SnapshotTestingHEIC",
"url": "https://github.com/alexey1312/SnapshotTestingHEIC.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SnapshotTestingHEIC",
"dependencies": [
{
"identity": "swift-snapshot-testing",
"name": "swift-snapshot-testing",
"url": "https://github.com/pointfreeco/swift-snapshot-testing.git",
"version": "1.18.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-snapshot-testing",
"dependencies": [
{
"identity": "swift-custom-dump",
"name": "swift-custom-dump",
"url": "https://github.com/pointfreeco/swift-custom-dump",
"version": "1.3.3",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-custom-dump",
"dependencies": [
{
"identity": "xctest-dynamic-overlay",
"name": "xctest-dynamic-overlay",
"url": "https://github.com/pointfreeco/xctest-dynamic-overlay",
"version": "1.5.1",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/xctest-dynamic-overlay",
"dependencies": [
]
}
]
},
{
"identity": "swift-syntax",
"name": "swift-syntax",
"url": "https://github.com/swiftlang/swift-syntax",
"version": "600.0.1",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-syntax",
"dependencies": [
]
}
]
}
]
}
]
}
Fetching https://github.com/alexey1312/SnapshotTestingHEIC.git
[4/200] Fetching snapshottestingheic
Fetched https://github.com/alexey1312/SnapshotTestingHEIC.git from cache (0.89s)
Fetching https://github.com/pointfreeco/swift-snapshot-testing.git from cache
Fetched https://github.com/pointfreeco/swift-snapshot-testing.git from cache (0.56s)
Computing version for https://github.com/pointfreeco/swift-snapshot-testing.git
Computed https://github.com/pointfreeco/swift-snapshot-testing.git at 1.18.0 (0.44s)
Fetching https://github.com/swiftlang/swift-syntax from cache
Fetching https://github.com/pointfreeco/swift-custom-dump
[1/4529] Fetching swift-custom-dump
Fetched https://github.com/pointfreeco/swift-custom-dump from cache (1.14s)
Fetched https://github.com/swiftlang/swift-syntax from cache (1.14s)
Computing version for https://github.com/pointfreeco/swift-custom-dump
Computed https://github.com/pointfreeco/swift-custom-dump at 1.3.3 (0.43s)
Fetching https://github.com/pointfreeco/xctest-dynamic-overlay
[1/5198] Fetching xctest-dynamic-overlay
Fetched https://github.com/pointfreeco/xctest-dynamic-overlay from cache (1.40s)
Computing version for https://github.com/swiftlang/swift-syntax
Computed https://github.com/swiftlang/swift-syntax at 600.0.1 (0.03s)
Computing version for https://github.com/pointfreeco/xctest-dynamic-overlay
Computed https://github.com/pointfreeco/xctest-dynamic-overlay at 1.5.1 (0.49s)
Creating working copy for https://github.com/alexey1312/SnapshotTestingHEIC.git
Working copy of https://github.com/alexey1312/SnapshotTestingHEIC.git resolved at master (2d50026)
Creating working copy for https://github.com/swiftlang/swift-syntax
Working copy of https://github.com/swiftlang/swift-syntax resolved at 600.0.1
Creating working copy for https://github.com/pointfreeco/xctest-dynamic-overlay
Working copy of https://github.com/pointfreeco/xctest-dynamic-overlay resolved at 1.5.1
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.0
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
warning: '.resolve-product-dependencies': dependency 'snapshottestingheic' is not used by any target
Found 1 product dependencies
- swift-snapshot-testing
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
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.17.4",
"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",
"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.2.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-5BDAB9E9C0126B9D.txt
[4/35] Compiling SnapshotTesting SnapshotTestingConfiguration.swift
[5/35] Compiling SnapshotTesting SnapshotsTestTrait.swift
[6/35] Compiling SnapshotTesting Snapshotting.swift
[7/35] Compiling SnapshotTesting Any.swift
[8/35] Compiling SnapshotTesting Data.swift
[9/35] Compiling SnapshotTesting Encodable.swift
[10/35] Compiling SnapshotTesting NSBezierPath.swift
[11/38] Compiling SnapshotTesting CALayer.swift
[12/38] Compiling SnapshotTesting CGPath.swift
[13/38] Compiling SnapshotTesting CaseIterable.swift
[14/38] Compiling SnapshotTesting SceneKit.swift
[15/38] Compiling SnapshotTesting SpriteKit.swift
[16/38] Compiling SnapshotTesting String.swift
[17/38] Compiling SnapshotTesting AssertSnapshot.swift
[18/38] Compiling SnapshotTesting Async.swift
[19/38] Compiling SnapshotTesting Internal.swift
[20/38] Compiling SnapshotTesting PlistEncoder.swift
[21/38] Compiling SnapshotTesting NSImage.swift
[22/38] Compiling SnapshotTesting NSView.swift
[23/38] Compiling SnapshotTesting NSViewController.swift
[24/38] Compiling SnapshotTesting UIView.swift
[25/38] Compiling SnapshotTesting UIViewController.swift
[26/38] Compiling SnapshotTesting URLRequest.swift
[27/38] Compiling SnapshotTesting Diffing.swift
[28/38] Compiling SnapshotTesting Wait.swift
[29/38] Compiling SnapshotTesting Deprecations.swift
[30/38] Compiling SnapshotTesting RecordIssue.swift
[31/38] Compiling SnapshotTesting String+SpecialCharacters.swift
[32/38] Compiling SnapshotTesting View.swift
[33/38] Compiling SnapshotTesting XCTAttachment.swift
[34/38] Compiling SnapshotTesting Diff.swift
[35/38] Emitting module SnapshotTesting
[36/38] Compiling SnapshotTesting SwiftUIView.swift
[37/38] Compiling SnapshotTesting UIBezierPath.swift
[38/38] Compiling SnapshotTesting UIImage.swift
[39/48] 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: annotate 'imageHEIC' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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:260: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
258 | final class ThresholdImageProcessorKernel: CIImageProcessorKernel {
259 | static let inputThresholdKey = "thresholdValue"
260 | 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
261 |
262 | override class func process(with inputs: [CIImageProcessorInput]?, arguments: [String: Any]?, output: CIImageProcessorOutput) throws {
Metal.MTLDevice:2:17: note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.11, *)
2 | public protocol MTLDevice : NSObjectProtocol {
| `- note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
3 | var name: String { get }
4 | @available(macOS 10.13, *)
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/UIImage.swift:208:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
206 |
207 | #if os(iOS) || os(tvOS) || os(macOS)
208 | import CoreImage.CIKernel
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
209 | import MetalPerformanceShaders
210 |
:
258 | final class ThresholdImageProcessorKernel: CIImageProcessorKernel {
259 | static let inputThresholdKey = "thresholdValue"
260 | static let device = MTLCreateSystemDefaultDevice()
| |- note: annotate 'device' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
261 |
262 | override class func process(with inputs: [CIImageProcessorInput]?, arguments: [String: Any]?, output: CIImageProcessorOutput) throws {
[40/48] Compiling SnapshotTestingHEIC NSViewController.swift
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSViewController.swift:17:104: warning: main actor-isolated property 'view' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
15 | /// - size: A view size override.
16 | static func imageHEIC(precision: Float = 1, size: CGSize? = nil) -> Snapshotting {
17 | return Snapshotting<NSView, NSImage>.imageHEIC(precision: precision, size: size).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
18 | }
19 | }
AppKit.NSViewController:9:35: note: property declared here
7 | open var representedObject: Any? { get set }
8 | open var title: String? { get set }
9 | @IBOutlet @MainActor open var view: NSView { get set }
| `- note: property declared here
10 | @available(macOS 14.0, *)
11 | open var viewIfLoaded: NSView? { get }
[41/48] Compiling SnapshotTestingHEIC UIView.swift
[42/49] Compiling SnapshotTestingHEIC UIImage+HEIC.swift
[43/49] Compiling SnapshotTestingHEIC SwiftUIView.swift
[44/49] Compiling SnapshotTestingHEIC UIImage.swift
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/UIImage.swift:260: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
258 | final class ThresholdImageProcessorKernel: CIImageProcessorKernel {
259 | static let inputThresholdKey = "thresholdValue"
260 | 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
261 |
262 | override class func process(with inputs: [CIImageProcessorInput]?, arguments: [String: Any]?, output: CIImageProcessorOutput) throws {
Metal.MTLDevice:2:17: note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.11, *)
2 | public protocol MTLDevice : NSObjectProtocol {
| `- note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
3 | var name: String { get }
4 | @available(macOS 10.13, *)
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/UIImage.swift:208:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
206 |
207 | #if os(iOS) || os(tvOS) || os(macOS)
208 | import CoreImage.CIKernel
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
209 | import MetalPerformanceShaders
210 |
:
258 | final class ThresholdImageProcessorKernel: CIImageProcessorKernel {
259 | static let inputThresholdKey = "thresholdValue"
260 | static let device = MTLCreateSystemDefaultDevice()
| |- note: annotate 'device' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
261 |
262 | override class func process(with inputs: [CIImageProcessorInput]?, arguments: [String: Any]?, output: CIImageProcessorOutput) throws {
[45/49] Compiling SnapshotTestingHEIC NSView.swift
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:18: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
16 | static func imageHEIC(precision: Float = 1, size: CGSize? = nil) -> Snapshotting {
17 | return SimplySnapshotting.imageHEIC(precision: precision).asyncPullback { view in
18 | 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
19 | if let size = size { view.frame.size = size }
20 | guard view.frame.width > 0, view.frame.height > 0 else {
AppKit.NSView:60:25: note: property declared here
58 | open func setFrameOrigin(_ newOrigin: NSPoint)
59 | open func setFrameSize(_ newSize: NSSize)
60 | @MainActor open var frame: NSRect { get set }
| `- note: property declared here
61 | open var frameRotation: CGFloat { get set }
62 | @available(macOS 10.5, *)
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:19: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
17 | return SimplySnapshotting.imageHEIC(precision: precision).asyncPullback { view in
18 | let initialSize = view.frame.size
19 | 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
20 | guard view.frame.width > 0, view.frame.height > 0 else {
21 | fatalError("View not renderable to image at size \(view.frame.size)")
AppKit.NSView:60:25: note: mutation of this property is only permitted within the actor
58 | open func setFrameOrigin(_ newOrigin: NSPoint)
59 | open func setFrameSize(_ newSize: NSSize)
60 | @MainActor open var frame: NSRect { get set }
| `- note: mutation of this property is only permitted within the actor
61 | open var frameRotation: CGFloat { get set }
62 | @available(macOS 10.5, *)
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:20: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
18 | let initialSize = view.frame.size
19 | if let size = size { view.frame.size = size }
20 | 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
21 | fatalError("View not renderable to image at size \(view.frame.size)")
22 | }
AppKit.NSView:60:25: note: property declared here
58 | open func setFrameOrigin(_ newOrigin: NSPoint)
59 | open func setFrameSize(_ newSize: NSSize)
60 | @MainActor open var frame: NSRect { get set }
| `- note: property declared here
61 | open var frameRotation: CGFloat { get set }
62 | @available(macOS 10.5, *)
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:20: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
18 | let initialSize = view.frame.size
19 | if let size = size { view.frame.size = size }
20 | 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
21 | fatalError("View not renderable to image at size \(view.frame.size)")
22 | }
AppKit.NSView:60:25: note: property declared here
58 | open func setFrameOrigin(_ newOrigin: NSPoint)
59 | open func setFrameSize(_ newSize: NSSize)
60 | @MainActor open var frame: NSRect { get set }
| `- note: property declared here
61 | open var frameRotation: CGFloat { get set }
62 | @available(macOS 10.5, *)
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:21: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
19 | if let size = size { view.frame.size = size }
20 | guard view.frame.width > 0, view.frame.height > 0 else {
21 | 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
22 | }
23 | return view.snapshot ?? Async { callback in
AppKit.NSView:60:25: note: property declared here
58 | open func setFrameOrigin(_ newOrigin: NSPoint)
59 | open func setFrameSize(_ newSize: NSSize)
60 | @MainActor open var frame: NSRect { get set }
| `- note: property declared here
61 | open var frameRotation: CGFloat { get set }
62 | @available(macOS 10.5, *)
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:23: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
21 | fatalError("View not renderable to image at size \(view.frame.size)")
22 | }
23 | 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
24 | addImagesForRenderedViews(view).sequence().run { views in
25 | 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:25: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
23 | return view.snapshot ?? Async { callback in
24 | addImagesForRenderedViews(view).sequence().run { views in
25 | 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
26 | view.cacheDisplay(in: view.bounds, to: bitmapRep)
27 | let image = NSImage(size: view.bounds.size)
AppKit.NSView:212:26: note: calls to instance method 'bitmapImageRepForCachingDisplay(in:)' from outside of its actor context are implicitly asynchronous
210 | @available(swift, obsoleted: 3, renamed: "displayIgnoringOpacity(_:in:)")
211 | open func displayRectIgnoringOpacity(_ rect: NSRect, inContext context: NSGraphicsContext)
212 | @MainActor open func bitmapImageRepForCachingDisplay(in rect: NSRect) -> NSBitmapImageRep?
| `- note: calls to instance method 'bitmapImageRepForCachingDisplay(in:)' from outside of its actor context are implicitly asynchronous
213 | @available(swift, obsoleted: 3, renamed: "bitmapImageRepForCachingDisplay(in:)")
214 | open func bitmapImageRepForCachingDisplayInRect(_ rect: NSRect) -> NSBitmapImageRep?
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:25: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
23 | return view.snapshot ?? Async { callback in
24 | addImagesForRenderedViews(view).sequence().run { views in
25 | 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
26 | view.cacheDisplay(in: view.bounds, to: bitmapRep)
27 | let image = NSImage(size: view.bounds.size)
AppKit.NSView:76:14: note: property declared here
74 | @available(swift, obsoleted: 3, renamed: "rotate(byDegrees:)")
75 | open func rotateByAngle(_ angle: CGFloat)
76 | open var bounds: NSRect { get set }
| `- note: property declared here
77 | open var isFlipped: Bool { get }
78 | @available(swift, obsoleted: 3, renamed: "isFlipped")
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:26: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
24 | addImagesForRenderedViews(view).sequence().run { views in
25 | let bitmapRep = view.bitmapImageRepForCachingDisplay(in: view.bounds)!
26 | 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
27 | let image = NSImage(size: view.bounds.size)
28 | image.addRepresentation(bitmapRep)
AppKit.NSView:215:26: note: calls to instance method 'cacheDisplay(in:to:)' from outside of its actor context are implicitly asynchronous
213 | @available(swift, obsoleted: 3, renamed: "bitmapImageRepForCachingDisplay(in:)")
214 | open func bitmapImageRepForCachingDisplayInRect(_ rect: NSRect) -> NSBitmapImageRep?
215 | @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
216 | @available(swift, obsoleted: 3, renamed: "cacheDisplay(in:to:)")
217 | open func cacheDisplayInRect(_ rect: NSRect, toBitmapImageRep bitmapImageRep: NSBitmapImageRep)
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:26: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
24 | addImagesForRenderedViews(view).sequence().run { views in
25 | let bitmapRep = view.bitmapImageRepForCachingDisplay(in: view.bounds)!
26 | 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
27 | let image = NSImage(size: view.bounds.size)
28 | image.addRepresentation(bitmapRep)
AppKit.NSView:76:14: note: property declared here
74 | @available(swift, obsoleted: 3, renamed: "rotate(byDegrees:)")
75 | open func rotateByAngle(_ angle: CGFloat)
76 | open var bounds: NSRect { get set }
| `- note: property declared here
77 | open var isFlipped: Bool { get }
78 | @available(swift, obsoleted: 3, renamed: "isFlipped")
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:27: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
25 | let bitmapRep = view.bitmapImageRepForCachingDisplay(in: view.bounds)!
26 | view.cacheDisplay(in: view.bounds, to: bitmapRep)
27 | 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
28 | image.addRepresentation(bitmapRep)
29 | callback(image)
AppKit.NSView:76:14: note: property declared here
74 | @available(swift, obsoleted: 3, renamed: "rotate(byDegrees:)")
75 | open func rotateByAngle(_ angle: CGFloat)
76 | open var bounds: NSRect { get set }
| `- note: property declared here
77 | open var isFlipped: Bool { get }
78 | @available(swift, obsoleted: 3, renamed: "isFlipped")
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:30: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
28 | image.addRepresentation(bitmapRep)
29 | callback(image)
30 | 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
31 | view.frame.size = initialSize
32 | }
AppKit.NSView:44:26: note: calls to instance method 'removeFromSuperview()' from outside of its actor context are implicitly asynchronous
42 | open func didAddSubview(_ subview: NSView)
43 | open func willRemoveSubview(_ subview: NSView)
44 | @MainActor open func removeFromSuperview()
| `- note: calls to instance method 'removeFromSuperview()' from outside of its actor context are implicitly asynchronous
45 | open func replaceSubview(_ oldView: NSView, with newView: NSView)
46 | open func removeFromSuperviewWithoutNeedingDisplay()
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:31: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
29 | callback(image)
30 | views.forEach { $0.removeFromSuperview() }
31 | 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
32 | }
33 | }
AppKit.NSView:60:25: note: mutation of this property is only permitted within the actor
58 | open func setFrameOrigin(_ newOrigin: NSPoint)
59 | open func setFrameSize(_ newSize: NSSize)
60 | @MainActor open var frame: NSRect { get set }
| `- note: mutation of this property is only permitted within the actor
61 | open var frameRotation: CGFloat { get set }
62 | @available(macOS 10.5, *)
/Users/admin/builder/spi-builder-workspace/Sources/SnapshotTestingHEIC/NSView.swift:26:26: warning: sending 'bitmapRep' risks causing data races; this is an error in the Swift 6 language mode
24 | addImagesForRenderedViews(view).sequence().run { views in
25 | let bitmapRep = view.bitmapImageRepForCachingDisplay(in: view.bounds)!
26 | 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 main actor-isolated 'bitmapRep' to main actor-isolated instance method 'cacheDisplay(in:to:)' risks causing data races between main actor-isolated and local nonisolated uses
27 | let image = NSImage(size: view.bounds.size)
28 | image.addRepresentation(bitmapRep)
| `- note: access can happen concurrently
29 | callback(image)
30 | views.forEach { $0.removeFromSuperview() }
[46/49] Compiling SnapshotTestingHEIC UIViewController.swift
[47/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: annotate 'imageHEIC' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 |
10 | /// A pixel-diffing strategy for NSImage that allows customizing how precise the matching must be.
[48/49] Compiling SnapshotTestingHEIC CompressionQuality.swift
[49/49] Compiling SnapshotTestingHEIC NSImage+HEIC.swift
Build complete! (27.31s)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-snapshot-testing",
"requirement" : {
"range" : [
{
"lower_bound" : "1.17.4",
"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",
"NSImage.swift",
"NSView.swift",
"NSViewController.swift",
"SwiftUIView.swift",
"UIImage.swift",
"UIView.swift",
"UIViewController.swift"
],
"type" : "library"
}
],
"tools_version" : "5.2"
}
Done.