Build Information
Successful build of Diagnostics, reference master (171f52
), with Swift 6.1 for macOS (SPM) on 28 Apr 2025 16:29:26 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.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/WeTransfer/Diagnostics.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/WeTransfer/Diagnostics
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 171f52f Restore CODEOWNERS from backup in master branch
Submodule path 'Submodules/WeTransfer-iOS-CI': checked out '02174285440b63e3c1a3a0fda3505308120d28e4'
Submodule 'Submodules/WeTransfer-iOS-CI' (https://github.com/WeTransfer/WeTransfer-iOS-CI.git) registered for path 'Submodules/WeTransfer-iOS-CI'
Cloning into '/Users/admin/builder/spi-builder-workspace/Submodules/WeTransfer-iOS-CI'...
Cloned https://github.com/WeTransfer/Diagnostics.git
Revision (git rev-parse @):
171f52fa2cb6de9942b3d052e34001964c9e3b35
SUCCESS checkout https://github.com/WeTransfer/Diagnostics.git at master
Fetching https://github.com/sindresorhus/ExceptionCatcher
[1/96] Fetching exceptioncatcher
Fetched https://github.com/sindresorhus/ExceptionCatcher from cache (0.60s)
Computing version for https://github.com/sindresorhus/ExceptionCatcher
Computed https://github.com/sindresorhus/ExceptionCatcher at 2.0.1 (1.68s)
Creating working copy for https://github.com/sindresorhus/ExceptionCatcher
Working copy of https://github.com/sindresorhus/ExceptionCatcher resolved at 2.0.1
========================================
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": "diagnostics",
"name": "Diagnostics",
"url": "https://github.com/WeTransfer/Diagnostics.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Diagnostics",
"dependencies": [
{
"identity": "exceptioncatcher",
"name": "ExceptionCatcher",
"url": "https://github.com/sindresorhus/ExceptionCatcher",
"version": "2.2.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/ExceptionCatcher",
"dependencies": [
]
}
]
}
]
}
Fetching https://github.com/WeTransfer/Diagnostics.git
[1/2059] Fetching diagnostics
Fetched https://github.com/WeTransfer/Diagnostics.git from cache (1.08s)
Fetching https://github.com/sindresorhus/ExceptionCatcher from cache
Fetched https://github.com/sindresorhus/ExceptionCatcher from cache (0.43s)
Computing version for https://github.com/sindresorhus/ExceptionCatcher
Computed https://github.com/sindresorhus/ExceptionCatcher at 2.2.0 (0.95s)
Creating working copy for https://github.com/sindresorhus/ExceptionCatcher
Working copy of https://github.com/sindresorhus/ExceptionCatcher resolved at 2.2.0
Creating working copy for https://github.com/WeTransfer/Diagnostics.git
Working copy of https://github.com/WeTransfer/Diagnostics.git resolved at master (171f52f)
warning: '.resolve-product-dependencies': dependency 'diagnostics' is not used by any target
Found 1 product dependencies
- ExceptionCatcher
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/WeTransfer/Diagnostics.git
https://github.com/WeTransfer/Diagnostics.git
{
"dependencies" : [
{
"identity" : "exceptioncatcher",
"requirement" : {
"range" : [
{
"lower_bound" : "2.0.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/sindresorhus/ExceptionCatcher"
}
],
"manifest_display_name" : "Diagnostics",
"name" : "Diagnostics",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "ios",
"version" : "12.0"
},
{
"name" : "tvos",
"version" : "12.0"
},
{
"name" : "watchos",
"version" : "6.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "Diagnostics",
"targets" : [
"Diagnostics"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "DiagnosticsTests",
"module_type" : "SwiftTarget",
"name" : "DiagnosticsTests",
"path" : "DiagnosticsTests",
"sources" : [
"DiagnosticsReporterTests.swift",
"Extensions/MFMailComposeViewControllerTests.swift",
"HTMLEncodingTests.swift",
"HTMLGeneratingTests.swift",
"Mocks.swift",
"Reporters/AppSystemMetadataReporterTests.swift",
"Reporters/DirectoryTree/DirectoryTreeFactoryTests.swift",
"Reporters/GeneralInfoReporterTests.swift",
"Reporters/LogsReporterTests.swift",
"Reporters/LogsTrimmerTests.swift",
"Reporters/SmartInsights/DeviceStorageInsightTests.swift",
"Reporters/SmartInsights/SmartInsightsReporterTests.swift",
"Reporters/SmartInsights/UpdateAvailableInsightTests.swift",
"Reporters/UserDefaultsReporterTests.swift"
],
"target_dependencies" : [
"Diagnostics"
],
"type" : "test"
},
{
"c99name" : "Diagnostics",
"module_type" : "SwiftTarget",
"name" : "Diagnostics",
"path" : "Sources",
"product_dependencies" : [
"ExceptionCatcher"
],
"product_memberships" : [
"Diagnostics"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/PrivacyInfo.xcprivacy",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/functions.js",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/style.css",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Device.swift",
"Diagnostics.swift",
"DiagnosticsChapter.swift",
"DiagnosticsReport.swift",
"DiagnosticsReportFilter.swift",
"DiagnosticsReporter.swift",
"Extensions/BundleExtensions.swift",
"Extensions/ByteCountFormatter.swift",
"Extensions/DateFormatterExtensions.swift",
"HTMLEncoding.swift",
"HTMLGenerating.swift",
"Logging/DiagnosticsLogger.swift",
"Logging/HTML+LoggableCSSClass.swift",
"Logging/Loggable.swift",
"Logging/LogsTrimmer.swift",
"MFMailExtensions/MFMailComposeVCExtensions.swift",
"MetricKit/MetricsMonitor.swift",
"Reporters/AppSystemMetadataReporter.swift",
"Reporters/DirectoryTree/DirectoryTreeFactory.swift",
"Reporters/DirectoryTree/DirectoryTreeNode.swift",
"Reporters/DirectoryTree/DirectoryTreeReporter.swift",
"Reporters/DirectoryTree/DirectoryTreeStringFactory.swift",
"Reporters/GeneralInfoReporter.swift",
"Reporters/LogsReporter.swift",
"Reporters/SmartInsightsReporter.swift",
"Reporters/UserDefaultsReporter.swift",
"SmartInsights/CellularAllowedInsight.swift",
"SmartInsights/DeviceStorageInsight.swift",
"SmartInsights/SmartInsight.swift",
"SmartInsights/SmartInsightsProviding.swift",
"SmartInsights/UpdateAvailableInsight.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
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/7] Write sources
[2/7] Copying style.css
[3/7] Copying functions.js
[4/7] Copying PrivacyInfo.xcprivacy
[5/7] Write swift-version-2F0A5646E1D333AE.txt
[6/7] Compiling Internal ExceptionCatcher.m
[8/9] Compiling ExceptionCatcher ExceptionCatcher.swift
[9/9] Emitting module ExceptionCatcher
[10/39] Emitting module Diagnostics
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReporter.swift:43:16: warning: static property 'reportTitle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
41 |
42 | /// The title that is used in the header of the web page of the report.
43 | static var reportTitle: String = "\(Bundle.appName) - Diagnostics Report"
| |- warning: static property 'reportTitle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'reportTitle' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'reportTitle' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |
45 | /// Creates the report by making use of the given reporters.
/Users/admin/builder/spi-builder-workspace/Sources/Logging/DiagnosticsLogger.swift:22:16: warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'DiagnosticsLogger' may have shared mutable state; this is an error in the Swift 6 language mode
19 | /// A Diagnostics Logger to log messages to which will end up in the Diagnostics Report if using the default `LogsReporter`.
20 | /// Will keep a `.txt` log in the documents directory with the latestlogs with a max size of 2 MB.
21 | public final class DiagnosticsLogger {
| `- note: class 'DiagnosticsLogger' does not conform to the 'Sendable' protocol
22 | static let standard = DiagnosticsLogger()
| |- warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'DiagnosticsLogger' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'standard' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |
24 | private lazy var logFileLocation: URL = FileManager.default.documentsDirectory.appendingPathComponent("diagnostics_log.txt")
[11/42] Compiling Diagnostics DateFormatterExtensions.swift
[12/42] Compiling Diagnostics HTMLEncoding.swift
[13/42] Compiling Diagnostics HTMLGenerating.swift
[14/42] Compiling Diagnostics DirectoryTreeReporter.swift
[15/42] Compiling Diagnostics DirectoryTreeStringFactory.swift
[16/42] Compiling Diagnostics GeneralInfoReporter.swift
[17/42] Compiling Diagnostics DiagnosticsReportFilter.swift
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReporter.swift:43:16: warning: static property 'reportTitle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
41 |
42 | /// The title that is used in the header of the web page of the report.
43 | static var reportTitle: String = "\(Bundle.appName) - Diagnostics Report"
| |- warning: static property 'reportTitle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'reportTitle' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'reportTitle' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |
45 | /// Creates the report by making use of the given reporters.
[18/42] Compiling Diagnostics DiagnosticsReporter.swift
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReporter.swift:43:16: warning: static property 'reportTitle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
41 |
42 | /// The title that is used in the header of the web page of the report.
43 | static var reportTitle: String = "\(Bundle.appName) - Diagnostics Report"
| |- warning: static property 'reportTitle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'reportTitle' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'reportTitle' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |
45 | /// Creates the report by making use of the given reporters.
[19/42] Compiling Diagnostics BundleExtensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReporter.swift:43:16: warning: static property 'reportTitle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
41 |
42 | /// The title that is used in the header of the web page of the report.
43 | static var reportTitle: String = "\(Bundle.appName) - Diagnostics Report"
| |- warning: static property 'reportTitle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'reportTitle' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'reportTitle' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |
45 | /// Creates the report by making use of the given reporters.
[20/42] Compiling Diagnostics ByteCountFormatter.swift
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReporter.swift:43:16: warning: static property 'reportTitle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
41 |
42 | /// The title that is used in the header of the web page of the report.
43 | static var reportTitle: String = "\(Bundle.appName) - Diagnostics Report"
| |- warning: static property 'reportTitle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'reportTitle' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'reportTitle' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |
45 | /// Creates the report by making use of the given reporters.
[21/42] Compiling Diagnostics SmartInsightsProviding.swift
/Users/admin/builder/spi-builder-workspace/Sources/SmartInsights/UpdateAvailableInsight.swift:45:21: warning: mutation of captured var 'appMetadata' in concurrently-executing code
43 | if let data {
44 | let result = try? JSONDecoder().decode(AppMetadataResults.self, from: data)
45 | appMetadata = result?.results.first
| `- warning: mutation of captured var 'appMetadata' in concurrently-executing code
46 | }
47 | }
[22/42] Compiling Diagnostics UpdateAvailableInsight.swift
/Users/admin/builder/spi-builder-workspace/Sources/SmartInsights/UpdateAvailableInsight.swift:45:21: warning: mutation of captured var 'appMetadata' in concurrently-executing code
43 | if let data {
44 | let result = try? JSONDecoder().decode(AppMetadataResults.self, from: data)
45 | appMetadata = result?.results.first
| `- warning: mutation of captured var 'appMetadata' in concurrently-executing code
46 | }
47 | }
[23/42] Compiling Diagnostics resource_bundle_accessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/SmartInsights/UpdateAvailableInsight.swift:45:21: warning: mutation of captured var 'appMetadata' in concurrently-executing code
43 | if let data {
44 | let result = try? JSONDecoder().decode(AppMetadataResults.self, from: data)
45 | appMetadata = result?.results.first
| `- warning: mutation of captured var 'appMetadata' in concurrently-executing code
46 | }
47 | }
[24/42] Compiling Diagnostics AppSystemMetadataReporter.swift
[25/42] Compiling Diagnostics DirectoryTreeFactory.swift
[26/42] Compiling Diagnostics DirectoryTreeNode.swift
[27/42] Compiling Diagnostics LogsReporter.swift
[28/42] Compiling Diagnostics SmartInsightsReporter.swift
[29/42] Compiling Diagnostics UserDefaultsReporter.swift
[30/42] Compiling Diagnostics LogsTrimmer.swift
[31/42] Compiling Diagnostics MFMailComposeVCExtensions.swift
[32/42] Compiling Diagnostics MetricsMonitor.swift
[33/42] Compiling Diagnostics CellularAllowedInsight.swift
[34/42] Compiling Diagnostics DeviceStorageInsight.swift
[35/42] Compiling Diagnostics SmartInsight.swift
[36/42] Compiling Diagnostics Device.swift
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:64:25: warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
| `- warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
65 | savePanel.canCreateDirectories = true
66 | savePanel.showsTagField = false
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSResponder.h:23:1: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
21 | @interface NSResponder : NSObject <NSCoding>
22 |
23 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
| |- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSPanel'
24 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
25 |
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:65:19: warning: main actor-isolated property 'canCreateDirectories' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
| `- warning: main actor-isolated property 'canCreateDirectories' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
66 | savePanel.showsTagField = false
67 | savePanel.directoryURL = URL(string: initialDirectoryPath)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:102:16: note: mutation of this property is only permitted within the actor
100 | `NSSavePanel`/`NSOpenPanel`: Set to `YES` to show the "New Folder" button. Default is `YES`.
101 | */
102 | @property BOOL canCreateDirectories;
| `- note: mutation of this property is only permitted within the actor
103 |
104 | /**
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:66:19: warning: main actor-isolated property 'showsTagField' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
66 | savePanel.showsTagField = false
| `- warning: main actor-isolated property 'showsTagField' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
67 | savePanel.directoryURL = URL(string: initialDirectoryPath)
68 | savePanel.allowedFileTypes = ["html"]
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:162:16: note: mutation of this property is only permitted within the actor
160 | `NSOpenPanel`: Not used.
161 | */
162 | @property BOOL showsTagField API_AVAILABLE(macos(10.9));
| `- note: mutation of this property is only permitted within the actor
163 |
164 | /**
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:67:19: warning: main actor-isolated property 'directoryURL' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
66 | savePanel.showsTagField = false
67 | savePanel.directoryURL = URL(string: initialDirectoryPath)
| `- warning: main actor-isolated property 'directoryURL' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
68 | savePanel.allowedFileTypes = ["html"]
69 | savePanel.nameFieldStringValue = filename
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:56:35: note: mutation of this property is only permitted within the actor
54 | - Note: Can only be set during the configuration phase.
55 | */
56 | @property (nullable, copy) NSURL *directoryURL API_AVAILABLE(macos(10.6));
| `- note: mutation of this property is only permitted within the actor
57 |
58 | /**
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:68:19: warning: main actor-isolated property 'allowedFileTypes' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
66 | savePanel.showsTagField = false
67 | savePanel.directoryURL = URL(string: initialDirectoryPath)
68 | savePanel.allowedFileTypes = ["html"]
| `- warning: main actor-isolated property 'allowedFileTypes' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
69 | savePanel.nameFieldStringValue = filename
70 | savePanel.title = "Save Diagnostics Report"
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:286:49: note: mutation of this property is only permitted within the actor
284 | `NSOpenPanel`: On versions less than 10.6, this property is ignored. For applications that link against 10.6 and higher, this property will determine which files should be enabled in the open panel. Using the deprecated methods to show the open panel (the ones that take a "types:" parameter) will overwrite this value, and should not be used. The allowedFileTypes can be changed while the panel is running (ie: from an accessory view). The file type can be a common file extension, or a UTI. This is also known as the "enabled file types". A nil value indicates that all files should be enabled.
285 | */
286 | @property (nullable, copy) NSArray<NSString *> *allowedFileTypes API_DEPRECATED("Use -allowedContentTypes instead", macos(10.3,12.0));
| `- note: mutation of this property is only permitted within the actor
287 | @end
288 |
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:69:19: warning: main actor-isolated property 'nameFieldStringValue' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
:
67 | savePanel.directoryURL = URL(string: initialDirectoryPath)
68 | savePanel.allowedFileTypes = ["html"]
69 | savePanel.nameFieldStringValue = filename
| `- warning: main actor-isolated property 'nameFieldStringValue' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
70 | savePanel.title = "Save Diagnostics Report"
71 | savePanel.message = "Save the Diagnostics report to the chosen location."
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:146:28: note: mutation of this property is only permitted within the actor
144 | `NSOpenPanel`: Not used.
145 | */
146 | @property (copy) NSString *nameFieldStringValue API_AVAILABLE(macos(10.6));
| `- note: mutation of this property is only permitted within the actor
147 |
148 | /**
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:70:19: warning: main actor-isolated property 'title' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
:
68 | savePanel.allowedFileTypes = ["html"]
69 | savePanel.nameFieldStringValue = filename
70 | savePanel.title = "Save Diagnostics Report"
| `- warning: main actor-isolated property 'title' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
71 | savePanel.message = "Save the Diagnostics report to the chosen location."
72 | savePanel.level = NSWindow.Level(rawValue: Int(CGWindowLevelForKey(.modalPanelWindow)))
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:131:45: note: mutation of this property is only permitted within the actor
129 | - Note: The open and save panel does not currently have a titlebar. So the title is not displayed.
130 | */
131 | @property (null_resettable, copy) NSString *title;
| `- note: mutation of this property is only permitted within the actor
132 |
133 | /**
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:71:19: warning: main actor-isolated property 'message' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
:
69 | savePanel.nameFieldStringValue = filename
70 | savePanel.title = "Save Diagnostics Report"
71 | savePanel.message = "Save the Diagnostics report to the chosen location."
| `- warning: main actor-isolated property 'message' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
72 | savePanel.level = NSWindow.Level(rawValue: Int(CGWindowLevelForKey(.modalPanelWindow)))
73 | savePanel.begin { result in
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:151:45: note: mutation of this property is only permitted within the actor
149 | `NSSavePanel`/`NSOpenPanel`: Sets and returns the message shown under title of the panel.
150 | */
151 | @property (null_resettable, copy) NSString *message;
| `- note: mutation of this property is only permitted within the actor
152 |
153 | /**
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:72:19: warning: main actor-isolated property 'level' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
:
70 | savePanel.title = "Save Diagnostics Report"
71 | savePanel.message = "Save the Diagnostics report to the chosen location."
72 | savePanel.level = NSWindow.Level(rawValue: Int(CGWindowLevelForKey(.modalPanelWindow)))
| `- warning: main actor-isolated property 'level' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
73 | savePanel.begin { result in
74 | guard result == .OK, let targetURL = savePanel.url else {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:504:25: note: mutation of this property is only permitted within the actor
502 |
503 | @property NSBackingStoreType backingType;
504 | @property NSWindowLevel level;
| `- note: mutation of this property is only permitted within the actor
505 | @property NSWindowDepth depthLimit;
506 | - (void)setDynamicDepthLimit:(BOOL)flag;
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:73:19: warning: call to main actor-isolated instance method 'begin(completionHandler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
:
71 | savePanel.message = "Save the Diagnostics report to the chosen location."
72 | savePanel.level = NSWindow.Level(rawValue: Int(CGWindowLevelForKey(.modalPanelWindow)))
73 | savePanel.begin { result in
| `- warning: call to main actor-isolated instance method 'begin(completionHandler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
74 | guard result == .OK, let targetURL = savePanel.url else {
75 | print("Saving Diagnostics report cancelled or failed")
AppKit.NSSavePanel.begin:3:24: note: calls to instance method 'begin(completionHandler:)' from outside of its actor context are implicitly asynchronous
1 | class NSSavePanel {
2 | @available(macOS 10.6, *)
3 | @MainActor open func begin(completionHandler handler: @escaping (NSApplication.ModalResponse) -> Void)}
| |- note: calls to instance method 'begin(completionHandler:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSPanel'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:74:60: warning: main actor-isolated property 'url' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
72 | savePanel.level = NSWindow.Level(rawValue: Int(CGWindowLevelForKey(.modalPanelWindow)))
73 | savePanel.begin { result in
74 | guard result == .OK, let targetURL = savePanel.url else {
| `- warning: main actor-isolated property 'url' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
75 | print("Saving Diagnostics report cancelled or failed")
76 | return
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:39:45: note: property declared here
37 | `NSOpenPanel`: Returns the single filename selected by the user. Note: if -allowsMultipleSelection is set, you should use the -URLs on NSOpenPanel instead.
38 | */
39 | @property (nullable, readonly, copy) NSURL *URL;
| `- note: property declared here
40 |
41 | // MARK: - Configuration Properties
[37/42] Compiling Diagnostics Diagnostics.swift
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:64:25: warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
| `- warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
65 | savePanel.canCreateDirectories = true
66 | savePanel.showsTagField = false
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSResponder.h:23:1: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
21 | @interface NSResponder : NSObject <NSCoding>
22 |
23 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
| |- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSPanel'
24 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
25 |
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:65:19: warning: main actor-isolated property 'canCreateDirectories' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
| `- warning: main actor-isolated property 'canCreateDirectories' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
66 | savePanel.showsTagField = false
67 | savePanel.directoryURL = URL(string: initialDirectoryPath)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:102:16: note: mutation of this property is only permitted within the actor
100 | `NSSavePanel`/`NSOpenPanel`: Set to `YES` to show the "New Folder" button. Default is `YES`.
101 | */
102 | @property BOOL canCreateDirectories;
| `- note: mutation of this property is only permitted within the actor
103 |
104 | /**
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:66:19: warning: main actor-isolated property 'showsTagField' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
66 | savePanel.showsTagField = false
| `- warning: main actor-isolated property 'showsTagField' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
67 | savePanel.directoryURL = URL(string: initialDirectoryPath)
68 | savePanel.allowedFileTypes = ["html"]
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:162:16: note: mutation of this property is only permitted within the actor
160 | `NSOpenPanel`: Not used.
161 | */
162 | @property BOOL showsTagField API_AVAILABLE(macos(10.9));
| `- note: mutation of this property is only permitted within the actor
163 |
164 | /**
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:67:19: warning: main actor-isolated property 'directoryURL' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
66 | savePanel.showsTagField = false
67 | savePanel.directoryURL = URL(string: initialDirectoryPath)
| `- warning: main actor-isolated property 'directoryURL' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
68 | savePanel.allowedFileTypes = ["html"]
69 | savePanel.nameFieldStringValue = filename
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:56:35: note: mutation of this property is only permitted within the actor
54 | - Note: Can only be set during the configuration phase.
55 | */
56 | @property (nullable, copy) NSURL *directoryURL API_AVAILABLE(macos(10.6));
| `- note: mutation of this property is only permitted within the actor
57 |
58 | /**
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:68:19: warning: main actor-isolated property 'allowedFileTypes' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
66 | savePanel.showsTagField = false
67 | savePanel.directoryURL = URL(string: initialDirectoryPath)
68 | savePanel.allowedFileTypes = ["html"]
| `- warning: main actor-isolated property 'allowedFileTypes' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
69 | savePanel.nameFieldStringValue = filename
70 | savePanel.title = "Save Diagnostics Report"
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:286:49: note: mutation of this property is only permitted within the actor
284 | `NSOpenPanel`: On versions less than 10.6, this property is ignored. For applications that link against 10.6 and higher, this property will determine which files should be enabled in the open panel. Using the deprecated methods to show the open panel (the ones that take a "types:" parameter) will overwrite this value, and should not be used. The allowedFileTypes can be changed while the panel is running (ie: from an accessory view). The file type can be a common file extension, or a UTI. This is also known as the "enabled file types". A nil value indicates that all files should be enabled.
285 | */
286 | @property (nullable, copy) NSArray<NSString *> *allowedFileTypes API_DEPRECATED("Use -allowedContentTypes instead", macos(10.3,12.0));
| `- note: mutation of this property is only permitted within the actor
287 | @end
288 |
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:69:19: warning: main actor-isolated property 'nameFieldStringValue' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
:
67 | savePanel.directoryURL = URL(string: initialDirectoryPath)
68 | savePanel.allowedFileTypes = ["html"]
69 | savePanel.nameFieldStringValue = filename
| `- warning: main actor-isolated property 'nameFieldStringValue' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
70 | savePanel.title = "Save Diagnostics Report"
71 | savePanel.message = "Save the Diagnostics report to the chosen location."
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:146:28: note: mutation of this property is only permitted within the actor
144 | `NSOpenPanel`: Not used.
145 | */
146 | @property (copy) NSString *nameFieldStringValue API_AVAILABLE(macos(10.6));
| `- note: mutation of this property is only permitted within the actor
147 |
148 | /**
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:70:19: warning: main actor-isolated property 'title' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
:
68 | savePanel.allowedFileTypes = ["html"]
69 | savePanel.nameFieldStringValue = filename
70 | savePanel.title = "Save Diagnostics Report"
| `- warning: main actor-isolated property 'title' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
71 | savePanel.message = "Save the Diagnostics report to the chosen location."
72 | savePanel.level = NSWindow.Level(rawValue: Int(CGWindowLevelForKey(.modalPanelWindow)))
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:131:45: note: mutation of this property is only permitted within the actor
129 | - Note: The open and save panel does not currently have a titlebar. So the title is not displayed.
130 | */
131 | @property (null_resettable, copy) NSString *title;
| `- note: mutation of this property is only permitted within the actor
132 |
133 | /**
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:71:19: warning: main actor-isolated property 'message' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
:
69 | savePanel.nameFieldStringValue = filename
70 | savePanel.title = "Save Diagnostics Report"
71 | savePanel.message = "Save the Diagnostics report to the chosen location."
| `- warning: main actor-isolated property 'message' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
72 | savePanel.level = NSWindow.Level(rawValue: Int(CGWindowLevelForKey(.modalPanelWindow)))
73 | savePanel.begin { result in
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:151:45: note: mutation of this property is only permitted within the actor
149 | `NSSavePanel`/`NSOpenPanel`: Sets and returns the message shown under title of the panel.
150 | */
151 | @property (null_resettable, copy) NSString *message;
| `- note: mutation of this property is only permitted within the actor
152 |
153 | /**
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:72:19: warning: main actor-isolated property 'level' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
:
70 | savePanel.title = "Save Diagnostics Report"
71 | savePanel.message = "Save the Diagnostics report to the chosen location."
72 | savePanel.level = NSWindow.Level(rawValue: Int(CGWindowLevelForKey(.modalPanelWindow)))
| `- warning: main actor-isolated property 'level' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
73 | savePanel.begin { result in
74 | guard result == .OK, let targetURL = savePanel.url else {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:504:25: note: mutation of this property is only permitted within the actor
502 |
503 | @property NSBackingStoreType backingType;
504 | @property NSWindowLevel level;
| `- note: mutation of this property is only permitted within the actor
505 | @property NSWindowDepth depthLimit;
506 | - (void)setDynamicDepthLimit:(BOOL)flag;
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:73:19: warning: call to main actor-isolated instance method 'begin(completionHandler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
:
71 | savePanel.message = "Save the Diagnostics report to the chosen location."
72 | savePanel.level = NSWindow.Level(rawValue: Int(CGWindowLevelForKey(.modalPanelWindow)))
73 | savePanel.begin { result in
| `- warning: call to main actor-isolated instance method 'begin(completionHandler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
74 | guard result == .OK, let targetURL = savePanel.url else {
75 | print("Saving Diagnostics report cancelled or failed")
AppKit.NSSavePanel.begin:3:24: note: calls to instance method 'begin(completionHandler:)' from outside of its actor context are implicitly asynchronous
1 | class NSSavePanel {
2 | @available(macOS 10.6, *)
3 | @MainActor open func begin(completionHandler handler: @escaping (NSApplication.ModalResponse) -> Void)}
| |- note: calls to instance method 'begin(completionHandler:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSPanel'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:74:60: warning: main actor-isolated property 'url' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
72 | savePanel.level = NSWindow.Level(rawValue: Int(CGWindowLevelForKey(.modalPanelWindow)))
73 | savePanel.begin { result in
74 | guard result == .OK, let targetURL = savePanel.url else {
| `- warning: main actor-isolated property 'url' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
75 | print("Saving Diagnostics report cancelled or failed")
76 | return
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:39:45: note: property declared here
37 | `NSOpenPanel`: Returns the single filename selected by the user. Note: if -allowsMultipleSelection is set, you should use the -URLs on NSOpenPanel instead.
38 | */
39 | @property (nullable, readonly, copy) NSURL *URL;
| `- note: property declared here
40 |
41 | // MARK: - Configuration Properties
[38/42] Compiling Diagnostics DiagnosticsChapter.swift
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:64:25: warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
| `- warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
65 | savePanel.canCreateDirectories = true
66 | savePanel.showsTagField = false
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSResponder.h:23:1: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
21 | @interface NSResponder : NSObject <NSCoding>
22 |
23 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
| |- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSPanel'
24 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
25 |
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:65:19: warning: main actor-isolated property 'canCreateDirectories' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
| `- warning: main actor-isolated property 'canCreateDirectories' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
66 | savePanel.showsTagField = false
67 | savePanel.directoryURL = URL(string: initialDirectoryPath)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:102:16: note: mutation of this property is only permitted within the actor
100 | `NSSavePanel`/`NSOpenPanel`: Set to `YES` to show the "New Folder" button. Default is `YES`.
101 | */
102 | @property BOOL canCreateDirectories;
| `- note: mutation of this property is only permitted within the actor
103 |
104 | /**
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:66:19: warning: main actor-isolated property 'showsTagField' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
66 | savePanel.showsTagField = false
| `- warning: main actor-isolated property 'showsTagField' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
67 | savePanel.directoryURL = URL(string: initialDirectoryPath)
68 | savePanel.allowedFileTypes = ["html"]
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:162:16: note: mutation of this property is only permitted within the actor
160 | `NSOpenPanel`: Not used.
161 | */
162 | @property BOOL showsTagField API_AVAILABLE(macos(10.9));
| `- note: mutation of this property is only permitted within the actor
163 |
164 | /**
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:67:19: warning: main actor-isolated property 'directoryURL' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
66 | savePanel.showsTagField = false
67 | savePanel.directoryURL = URL(string: initialDirectoryPath)
| `- warning: main actor-isolated property 'directoryURL' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
68 | savePanel.allowedFileTypes = ["html"]
69 | savePanel.nameFieldStringValue = filename
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:56:35: note: mutation of this property is only permitted within the actor
54 | - Note: Can only be set during the configuration phase.
55 | */
56 | @property (nullable, copy) NSURL *directoryURL API_AVAILABLE(macos(10.6));
| `- note: mutation of this property is only permitted within the actor
57 |
58 | /**
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:68:19: warning: main actor-isolated property 'allowedFileTypes' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
66 | savePanel.showsTagField = false
67 | savePanel.directoryURL = URL(string: initialDirectoryPath)
68 | savePanel.allowedFileTypes = ["html"]
| `- warning: main actor-isolated property 'allowedFileTypes' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
69 | savePanel.nameFieldStringValue = filename
70 | savePanel.title = "Save Diagnostics Report"
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:286:49: note: mutation of this property is only permitted within the actor
284 | `NSOpenPanel`: On versions less than 10.6, this property is ignored. For applications that link against 10.6 and higher, this property will determine which files should be enabled in the open panel. Using the deprecated methods to show the open panel (the ones that take a "types:" parameter) will overwrite this value, and should not be used. The allowedFileTypes can be changed while the panel is running (ie: from an accessory view). The file type can be a common file extension, or a UTI. This is also known as the "enabled file types". A nil value indicates that all files should be enabled.
285 | */
286 | @property (nullable, copy) NSArray<NSString *> *allowedFileTypes API_DEPRECATED("Use -allowedContentTypes instead", macos(10.3,12.0));
| `- note: mutation of this property is only permitted within the actor
287 | @end
288 |
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:69:19: warning: main actor-isolated property 'nameFieldStringValue' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
:
67 | savePanel.directoryURL = URL(string: initialDirectoryPath)
68 | savePanel.allowedFileTypes = ["html"]
69 | savePanel.nameFieldStringValue = filename
| `- warning: main actor-isolated property 'nameFieldStringValue' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
70 | savePanel.title = "Save Diagnostics Report"
71 | savePanel.message = "Save the Diagnostics report to the chosen location."
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:146:28: note: mutation of this property is only permitted within the actor
144 | `NSOpenPanel`: Not used.
145 | */
146 | @property (copy) NSString *nameFieldStringValue API_AVAILABLE(macos(10.6));
| `- note: mutation of this property is only permitted within the actor
147 |
148 | /**
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:70:19: warning: main actor-isolated property 'title' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
:
68 | savePanel.allowedFileTypes = ["html"]
69 | savePanel.nameFieldStringValue = filename
70 | savePanel.title = "Save Diagnostics Report"
| `- warning: main actor-isolated property 'title' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
71 | savePanel.message = "Save the Diagnostics report to the chosen location."
72 | savePanel.level = NSWindow.Level(rawValue: Int(CGWindowLevelForKey(.modalPanelWindow)))
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:131:45: note: mutation of this property is only permitted within the actor
129 | - Note: The open and save panel does not currently have a titlebar. So the title is not displayed.
130 | */
131 | @property (null_resettable, copy) NSString *title;
| `- note: mutation of this property is only permitted within the actor
132 |
133 | /**
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:71:19: warning: main actor-isolated property 'message' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
:
69 | savePanel.nameFieldStringValue = filename
70 | savePanel.title = "Save Diagnostics Report"
71 | savePanel.message = "Save the Diagnostics report to the chosen location."
| `- warning: main actor-isolated property 'message' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
72 | savePanel.level = NSWindow.Level(rawValue: Int(CGWindowLevelForKey(.modalPanelWindow)))
73 | savePanel.begin { result in
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:151:45: note: mutation of this property is only permitted within the actor
149 | `NSSavePanel`/`NSOpenPanel`: Sets and returns the message shown under title of the panel.
150 | */
151 | @property (null_resettable, copy) NSString *message;
| `- note: mutation of this property is only permitted within the actor
152 |
153 | /**
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:72:19: warning: main actor-isolated property 'level' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
:
70 | savePanel.title = "Save Diagnostics Report"
71 | savePanel.message = "Save the Diagnostics report to the chosen location."
72 | savePanel.level = NSWindow.Level(rawValue: Int(CGWindowLevelForKey(.modalPanelWindow)))
| `- warning: main actor-isolated property 'level' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
73 | savePanel.begin { result in
74 | guard result == .OK, let targetURL = savePanel.url else {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:504:25: note: mutation of this property is only permitted within the actor
502 |
503 | @property NSBackingStoreType backingType;
504 | @property NSWindowLevel level;
| `- note: mutation of this property is only permitted within the actor
505 | @property NSWindowDepth depthLimit;
506 | - (void)setDynamicDepthLimit:(BOOL)flag;
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:73:19: warning: call to main actor-isolated instance method 'begin(completionHandler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
:
71 | savePanel.message = "Save the Diagnostics report to the chosen location."
72 | savePanel.level = NSWindow.Level(rawValue: Int(CGWindowLevelForKey(.modalPanelWindow)))
73 | savePanel.begin { result in
| `- warning: call to main actor-isolated instance method 'begin(completionHandler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
74 | guard result == .OK, let targetURL = savePanel.url else {
75 | print("Saving Diagnostics report cancelled or failed")
AppKit.NSSavePanel.begin:3:24: note: calls to instance method 'begin(completionHandler:)' from outside of its actor context are implicitly asynchronous
1 | class NSSavePanel {
2 | @available(macOS 10.6, *)
3 | @MainActor open func begin(completionHandler handler: @escaping (NSApplication.ModalResponse) -> Void)}
| |- note: calls to instance method 'begin(completionHandler:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSPanel'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:74:60: warning: main actor-isolated property 'url' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
72 | savePanel.level = NSWindow.Level(rawValue: Int(CGWindowLevelForKey(.modalPanelWindow)))
73 | savePanel.begin { result in
74 | guard result == .OK, let targetURL = savePanel.url else {
| `- warning: main actor-isolated property 'url' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
75 | print("Saving Diagnostics report cancelled or failed")
76 | return
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:39:45: note: property declared here
37 | `NSOpenPanel`: Returns the single filename selected by the user. Note: if -allowsMultipleSelection is set, you should use the -URLs on NSOpenPanel instead.
38 | */
39 | @property (nullable, readonly, copy) NSURL *URL;
| `- note: property declared here
40 |
41 | // MARK: - Configuration Properties
[39/42] Compiling Diagnostics DiagnosticsReport.swift
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:64:25: warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
| `- warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
65 | savePanel.canCreateDirectories = true
66 | savePanel.showsTagField = false
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSResponder.h:23:1: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
21 | @interface NSResponder : NSObject <NSCoding>
22 |
23 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
| |- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSPanel'
24 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
25 |
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:65:19: warning: main actor-isolated property 'canCreateDirectories' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
| `- warning: main actor-isolated property 'canCreateDirectories' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
66 | savePanel.showsTagField = false
67 | savePanel.directoryURL = URL(string: initialDirectoryPath)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:102:16: note: mutation of this property is only permitted within the actor
100 | `NSSavePanel`/`NSOpenPanel`: Set to `YES` to show the "New Folder" button. Default is `YES`.
101 | */
102 | @property BOOL canCreateDirectories;
| `- note: mutation of this property is only permitted within the actor
103 |
104 | /**
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:66:19: warning: main actor-isolated property 'showsTagField' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
66 | savePanel.showsTagField = false
| `- warning: main actor-isolated property 'showsTagField' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
67 | savePanel.directoryURL = URL(string: initialDirectoryPath)
68 | savePanel.allowedFileTypes = ["html"]
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:162:16: note: mutation of this property is only permitted within the actor
160 | `NSOpenPanel`: Not used.
161 | */
162 | @property BOOL showsTagField API_AVAILABLE(macos(10.9));
| `- note: mutation of this property is only permitted within the actor
163 |
164 | /**
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:67:19: warning: main actor-isolated property 'directoryURL' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
66 | savePanel.showsTagField = false
67 | savePanel.directoryURL = URL(string: initialDirectoryPath)
| `- warning: main actor-isolated property 'directoryURL' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
68 | savePanel.allowedFileTypes = ["html"]
69 | savePanel.nameFieldStringValue = filename
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:56:35: note: mutation of this property is only permitted within the actor
54 | - Note: Can only be set during the configuration phase.
55 | */
56 | @property (nullable, copy) NSURL *directoryURL API_AVAILABLE(macos(10.6));
| `- note: mutation of this property is only permitted within the actor
57 |
58 | /**
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:68:19: warning: main actor-isolated property 'allowedFileTypes' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
66 | savePanel.showsTagField = false
67 | savePanel.directoryURL = URL(string: initialDirectoryPath)
68 | savePanel.allowedFileTypes = ["html"]
| `- warning: main actor-isolated property 'allowedFileTypes' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
69 | savePanel.nameFieldStringValue = filename
70 | savePanel.title = "Save Diagnostics Report"
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:286:49: note: mutation of this property is only permitted within the actor
284 | `NSOpenPanel`: On versions less than 10.6, this property is ignored. For applications that link against 10.6 and higher, this property will determine which files should be enabled in the open panel. Using the deprecated methods to show the open panel (the ones that take a "types:" parameter) will overwrite this value, and should not be used. The allowedFileTypes can be changed while the panel is running (ie: from an accessory view). The file type can be a common file extension, or a UTI. This is also known as the "enabled file types". A nil value indicates that all files should be enabled.
285 | */
286 | @property (nullable, copy) NSArray<NSString *> *allowedFileTypes API_DEPRECATED("Use -allowedContentTypes instead", macos(10.3,12.0));
| `- note: mutation of this property is only permitted within the actor
287 | @end
288 |
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:69:19: warning: main actor-isolated property 'nameFieldStringValue' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
:
67 | savePanel.directoryURL = URL(string: initialDirectoryPath)
68 | savePanel.allowedFileTypes = ["html"]
69 | savePanel.nameFieldStringValue = filename
| `- warning: main actor-isolated property 'nameFieldStringValue' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
70 | savePanel.title = "Save Diagnostics Report"
71 | savePanel.message = "Save the Diagnostics report to the chosen location."
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:146:28: note: mutation of this property is only permitted within the actor
144 | `NSOpenPanel`: Not used.
145 | */
146 | @property (copy) NSString *nameFieldStringValue API_AVAILABLE(macos(10.6));
| `- note: mutation of this property is only permitted within the actor
147 |
148 | /**
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:70:19: warning: main actor-isolated property 'title' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
:
68 | savePanel.allowedFileTypes = ["html"]
69 | savePanel.nameFieldStringValue = filename
70 | savePanel.title = "Save Diagnostics Report"
| `- warning: main actor-isolated property 'title' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
71 | savePanel.message = "Save the Diagnostics report to the chosen location."
72 | savePanel.level = NSWindow.Level(rawValue: Int(CGWindowLevelForKey(.modalPanelWindow)))
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:131:45: note: mutation of this property is only permitted within the actor
129 | - Note: The open and save panel does not currently have a titlebar. So the title is not displayed.
130 | */
131 | @property (null_resettable, copy) NSString *title;
| `- note: mutation of this property is only permitted within the actor
132 |
133 | /**
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:71:19: warning: main actor-isolated property 'message' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
:
69 | savePanel.nameFieldStringValue = filename
70 | savePanel.title = "Save Diagnostics Report"
71 | savePanel.message = "Save the Diagnostics report to the chosen location."
| `- warning: main actor-isolated property 'message' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
72 | savePanel.level = NSWindow.Level(rawValue: Int(CGWindowLevelForKey(.modalPanelWindow)))
73 | savePanel.begin { result in
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:151:45: note: mutation of this property is only permitted within the actor
149 | `NSSavePanel`/`NSOpenPanel`: Sets and returns the message shown under title of the panel.
150 | */
151 | @property (null_resettable, copy) NSString *message;
| `- note: mutation of this property is only permitted within the actor
152 |
153 | /**
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:72:19: warning: main actor-isolated property 'level' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
:
70 | savePanel.title = "Save Diagnostics Report"
71 | savePanel.message = "Save the Diagnostics report to the chosen location."
72 | savePanel.level = NSWindow.Level(rawValue: Int(CGWindowLevelForKey(.modalPanelWindow)))
| `- warning: main actor-isolated property 'level' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
73 | savePanel.begin { result in
74 | guard result == .OK, let targetURL = savePanel.url else {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:504:25: note: mutation of this property is only permitted within the actor
502 |
503 | @property NSBackingStoreType backingType;
504 | @property NSWindowLevel level;
| `- note: mutation of this property is only permitted within the actor
505 | @property NSWindowDepth depthLimit;
506 | - (void)setDynamicDepthLimit:(BOOL)flag;
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:73:19: warning: call to main actor-isolated instance method 'begin(completionHandler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | #if os(OSX)
63 | private func saveUsingPanel(initialDirectoryPath: String, filename: String) {
| `- note: add '@MainActor' to make instance method 'saveUsingPanel(initialDirectoryPath:filename:)' part of global actor 'MainActor'
64 | let savePanel = NSSavePanel()
65 | savePanel.canCreateDirectories = true
:
71 | savePanel.message = "Save the Diagnostics report to the chosen location."
72 | savePanel.level = NSWindow.Level(rawValue: Int(CGWindowLevelForKey(.modalPanelWindow)))
73 | savePanel.begin { result in
| `- warning: call to main actor-isolated instance method 'begin(completionHandler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
74 | guard result == .OK, let targetURL = savePanel.url else {
75 | print("Saving Diagnostics report cancelled or failed")
AppKit.NSSavePanel.begin:3:24: note: calls to instance method 'begin(completionHandler:)' from outside of its actor context are implicitly asynchronous
1 | class NSSavePanel {
2 | @available(macOS 10.6, *)
3 | @MainActor open func begin(completionHandler handler: @escaping (NSApplication.ModalResponse) -> Void)}
| |- note: calls to instance method 'begin(completionHandler:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSPanel'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/DiagnosticsReport.swift:74:60: warning: main actor-isolated property 'url' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
72 | savePanel.level = NSWindow.Level(rawValue: Int(CGWindowLevelForKey(.modalPanelWindow)))
73 | savePanel.begin { result in
74 | guard result == .OK, let targetURL = savePanel.url else {
| `- warning: main actor-isolated property 'url' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
75 | print("Saving Diagnostics report cancelled or failed")
76 | return
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSSavePanel.h:39:45: note: property declared here
37 | `NSOpenPanel`: Returns the single filename selected by the user. Note: if -allowsMultipleSelection is set, you should use the -URLs on NSOpenPanel instead.
38 | */
39 | @property (nullable, readonly, copy) NSURL *URL;
| `- note: property declared here
40 |
41 | // MARK: - Configuration Properties
[40/42] Compiling Diagnostics DiagnosticsLogger.swift
/Users/admin/builder/spi-builder-workspace/Sources/Logging/DiagnosticsLogger.swift:22:16: warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'DiagnosticsLogger' may have shared mutable state; this is an error in the Swift 6 language mode
19 | /// A Diagnostics Logger to log messages to which will end up in the Diagnostics Report if using the default `LogsReporter`.
20 | /// Will keep a `.txt` log in the documents directory with the latestlogs with a max size of 2 MB.
21 | public final class DiagnosticsLogger {
| `- note: class 'DiagnosticsLogger' does not conform to the 'Sendable' protocol
22 | static let standard = DiagnosticsLogger()
| |- warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'DiagnosticsLogger' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'standard' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |
24 | private lazy var logFileLocation: URL = FileManager.default.documentsDirectory.appendingPathComponent("diagnostics_log.txt")
/Users/admin/builder/spi-builder-workspace/Sources/Logging/DiagnosticsLogger.swift:182:23: warning: capture of 'self' with non-sendable type 'DiagnosticsLogger?' in a '@Sendable' closure
19 | /// A Diagnostics Logger to log messages to which will end up in the Diagnostics Report if using the default `LogsReporter`.
20 | /// Will keep a `.txt` log in the documents directory with the latestlogs with a max size of 2 MB.
21 | public final class DiagnosticsLogger {
| `- note: class 'DiagnosticsLogger' does not conform to the 'Sendable' protocol
22 | static let standard = DiagnosticsLogger()
23 |
:
180 |
181 | queue.async { [weak self] in
182 | guard let self else { return }
| `- warning: capture of 'self' with non-sendable type 'DiagnosticsLogger?' in a '@Sendable' closure
183 | let coordinator = NSFileCoordinator(filePresenter: nil)
184 | var error: NSError?
/Users/admin/builder/spi-builder-workspace/Sources/Logging/DiagnosticsLogger.swift:189:38: warning: capture of 'loggable' with non-sendable type 'any Loggable' in a '@Sendable' closure
187 | guard let self, self.canWriteNewLogs else { return }
188 |
189 | guard let data = loggable.logData else {
| `- warning: capture of 'loggable' with non-sendable type 'any Loggable' in a '@Sendable' closure
190 | return assertionFailure("Missing file handle or invalid output logged")
191 | }
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Loggable.swift:8:10: note: protocol 'Loggable' does not conform to the 'Sendable' protocol
6 | }
7 |
8 | protocol Loggable {
| `- note: protocol 'Loggable' does not conform to the 'Sendable' protocol
9 | /// The date of the log event. If set, it will be prepended to the log message in the right format.
10 | var date: Date? { get }
/Users/admin/builder/spi-builder-workspace/Sources/Logging/DiagnosticsLogger.swift:189:38: warning: capture of 'loggable' with non-sendable type 'any Loggable' in an isolated closure
187 | guard let self, self.canWriteNewLogs else { return }
188 |
189 | guard let data = loggable.logData else {
| `- warning: capture of 'loggable' with non-sendable type 'any Loggable' in an isolated closure
190 | return assertionFailure("Missing file handle or invalid output logged")
191 | }
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Loggable.swift:8:10: note: protocol 'Loggable' does not conform to the 'Sendable' protocol
6 | }
7 |
8 | protocol Loggable {
| `- note: protocol 'Loggable' does not conform to the 'Sendable' protocol
9 | /// The date of the log event. If set, it will be prepended to the log message in the right format.
10 | var date: Date? { get }
/Users/admin/builder/spi-builder-workspace/Sources/Logging/DiagnosticsLogger.swift:249:13: warning: capture of 'self' with non-sendable type 'DiagnosticsLogger?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
19 | /// A Diagnostics Logger to log messages to which will end up in the Diagnostics Report if using the default `LogsReporter`.
20 | /// Will keep a `.txt` log in the documents directory with the latestlogs with a max size of 2 MB.
21 | public final class DiagnosticsLogger {
| `- note: class 'DiagnosticsLogger' does not conform to the 'Sendable' protocol
22 | static let standard = DiagnosticsLogger()
23 |
:
247 | inputPipe.fileHandleForReading.readabilityHandler = { [weak self] handle in
248 | let data = handle.availableData
249 | self?.handleLoggedData(data)
| `- warning: capture of 'self' with non-sendable type 'DiagnosticsLogger?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
250 | }
251 |
[41/42] Compiling Diagnostics HTML+LoggableCSSClass.swift
/Users/admin/builder/spi-builder-workspace/Sources/Logging/DiagnosticsLogger.swift:22:16: warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'DiagnosticsLogger' may have shared mutable state; this is an error in the Swift 6 language mode
19 | /// A Diagnostics Logger to log messages to which will end up in the Diagnostics Report if using the default `LogsReporter`.
20 | /// Will keep a `.txt` log in the documents directory with the latestlogs with a max size of 2 MB.
21 | public final class DiagnosticsLogger {
| `- note: class 'DiagnosticsLogger' does not conform to the 'Sendable' protocol
22 | static let standard = DiagnosticsLogger()
| |- warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'DiagnosticsLogger' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'standard' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |
24 | private lazy var logFileLocation: URL = FileManager.default.documentsDirectory.appendingPathComponent("diagnostics_log.txt")
/Users/admin/builder/spi-builder-workspace/Sources/Logging/DiagnosticsLogger.swift:182:23: warning: capture of 'self' with non-sendable type 'DiagnosticsLogger?' in a '@Sendable' closure
19 | /// A Diagnostics Logger to log messages to which will end up in the Diagnostics Report if using the default `LogsReporter`.
20 | /// Will keep a `.txt` log in the documents directory with the latestlogs with a max size of 2 MB.
21 | public final class DiagnosticsLogger {
| `- note: class 'DiagnosticsLogger' does not conform to the 'Sendable' protocol
22 | static let standard = DiagnosticsLogger()
23 |
:
180 |
181 | queue.async { [weak self] in
182 | guard let self else { return }
| `- warning: capture of 'self' with non-sendable type 'DiagnosticsLogger?' in a '@Sendable' closure
183 | let coordinator = NSFileCoordinator(filePresenter: nil)
184 | var error: NSError?
/Users/admin/builder/spi-builder-workspace/Sources/Logging/DiagnosticsLogger.swift:189:38: warning: capture of 'loggable' with non-sendable type 'any Loggable' in a '@Sendable' closure
187 | guard let self, self.canWriteNewLogs else { return }
188 |
189 | guard let data = loggable.logData else {
| `- warning: capture of 'loggable' with non-sendable type 'any Loggable' in a '@Sendable' closure
190 | return assertionFailure("Missing file handle or invalid output logged")
191 | }
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Loggable.swift:8:10: note: protocol 'Loggable' does not conform to the 'Sendable' protocol
6 | }
7 |
8 | protocol Loggable {
| `- note: protocol 'Loggable' does not conform to the 'Sendable' protocol
9 | /// The date of the log event. If set, it will be prepended to the log message in the right format.
10 | var date: Date? { get }
/Users/admin/builder/spi-builder-workspace/Sources/Logging/DiagnosticsLogger.swift:189:38: warning: capture of 'loggable' with non-sendable type 'any Loggable' in an isolated closure
187 | guard let self, self.canWriteNewLogs else { return }
188 |
189 | guard let data = loggable.logData else {
| `- warning: capture of 'loggable' with non-sendable type 'any Loggable' in an isolated closure
190 | return assertionFailure("Missing file handle or invalid output logged")
191 | }
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Loggable.swift:8:10: note: protocol 'Loggable' does not conform to the 'Sendable' protocol
6 | }
7 |
8 | protocol Loggable {
| `- note: protocol 'Loggable' does not conform to the 'Sendable' protocol
9 | /// The date of the log event. If set, it will be prepended to the log message in the right format.
10 | var date: Date? { get }
/Users/admin/builder/spi-builder-workspace/Sources/Logging/DiagnosticsLogger.swift:249:13: warning: capture of 'self' with non-sendable type 'DiagnosticsLogger?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
19 | /// A Diagnostics Logger to log messages to which will end up in the Diagnostics Report if using the default `LogsReporter`.
20 | /// Will keep a `.txt` log in the documents directory with the latestlogs with a max size of 2 MB.
21 | public final class DiagnosticsLogger {
| `- note: class 'DiagnosticsLogger' does not conform to the 'Sendable' protocol
22 | static let standard = DiagnosticsLogger()
23 |
:
247 | inputPipe.fileHandleForReading.readabilityHandler = { [weak self] handle in
248 | let data = handle.availableData
249 | self?.handleLoggedData(data)
| `- warning: capture of 'self' with non-sendable type 'DiagnosticsLogger?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
250 | }
251 |
[42/42] Compiling Diagnostics Loggable.swift
/Users/admin/builder/spi-builder-workspace/Sources/Logging/DiagnosticsLogger.swift:22:16: warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'DiagnosticsLogger' may have shared mutable state; this is an error in the Swift 6 language mode
19 | /// A Diagnostics Logger to log messages to which will end up in the Diagnostics Report if using the default `LogsReporter`.
20 | /// Will keep a `.txt` log in the documents directory with the latestlogs with a max size of 2 MB.
21 | public final class DiagnosticsLogger {
| `- note: class 'DiagnosticsLogger' does not conform to the 'Sendable' protocol
22 | static let standard = DiagnosticsLogger()
| |- warning: static property 'standard' is not concurrency-safe because non-'Sendable' type 'DiagnosticsLogger' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'standard' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |
24 | private lazy var logFileLocation: URL = FileManager.default.documentsDirectory.appendingPathComponent("diagnostics_log.txt")
/Users/admin/builder/spi-builder-workspace/Sources/Logging/DiagnosticsLogger.swift:182:23: warning: capture of 'self' with non-sendable type 'DiagnosticsLogger?' in a '@Sendable' closure
19 | /// A Diagnostics Logger to log messages to which will end up in the Diagnostics Report if using the default `LogsReporter`.
20 | /// Will keep a `.txt` log in the documents directory with the latestlogs with a max size of 2 MB.
21 | public final class DiagnosticsLogger {
| `- note: class 'DiagnosticsLogger' does not conform to the 'Sendable' protocol
22 | static let standard = DiagnosticsLogger()
23 |
:
180 |
181 | queue.async { [weak self] in
182 | guard let self else { return }
| `- warning: capture of 'self' with non-sendable type 'DiagnosticsLogger?' in a '@Sendable' closure
183 | let coordinator = NSFileCoordinator(filePresenter: nil)
184 | var error: NSError?
/Users/admin/builder/spi-builder-workspace/Sources/Logging/DiagnosticsLogger.swift:189:38: warning: capture of 'loggable' with non-sendable type 'any Loggable' in a '@Sendable' closure
187 | guard let self, self.canWriteNewLogs else { return }
188 |
189 | guard let data = loggable.logData else {
| `- warning: capture of 'loggable' with non-sendable type 'any Loggable' in a '@Sendable' closure
190 | return assertionFailure("Missing file handle or invalid output logged")
191 | }
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Loggable.swift:8:10: note: protocol 'Loggable' does not conform to the 'Sendable' protocol
6 | }
7 |
8 | protocol Loggable {
| `- note: protocol 'Loggable' does not conform to the 'Sendable' protocol
9 | /// The date of the log event. If set, it will be prepended to the log message in the right format.
10 | var date: Date? { get }
/Users/admin/builder/spi-builder-workspace/Sources/Logging/DiagnosticsLogger.swift:189:38: warning: capture of 'loggable' with non-sendable type 'any Loggable' in an isolated closure
187 | guard let self, self.canWriteNewLogs else { return }
188 |
189 | guard let data = loggable.logData else {
| `- warning: capture of 'loggable' with non-sendable type 'any Loggable' in an isolated closure
190 | return assertionFailure("Missing file handle or invalid output logged")
191 | }
/Users/admin/builder/spi-builder-workspace/Sources/Logging/Loggable.swift:8:10: note: protocol 'Loggable' does not conform to the 'Sendable' protocol
6 | }
7 |
8 | protocol Loggable {
| `- note: protocol 'Loggable' does not conform to the 'Sendable' protocol
9 | /// The date of the log event. If set, it will be prepended to the log message in the right format.
10 | var date: Date? { get }
/Users/admin/builder/spi-builder-workspace/Sources/Logging/DiagnosticsLogger.swift:249:13: warning: capture of 'self' with non-sendable type 'DiagnosticsLogger?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
19 | /// A Diagnostics Logger to log messages to which will end up in the Diagnostics Report if using the default `LogsReporter`.
20 | /// Will keep a `.txt` log in the documents directory with the latestlogs with a max size of 2 MB.
21 | public final class DiagnosticsLogger {
| `- note: class 'DiagnosticsLogger' does not conform to the 'Sendable' protocol
22 | static let standard = DiagnosticsLogger()
23 |
:
247 | inputPipe.fileHandleForReading.readabilityHandler = { [weak self] handle in
248 | let data = handle.availableData
249 | self?.handleLoggedData(data)
| `- warning: capture of 'self' with non-sendable type 'DiagnosticsLogger?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
250 | }
251 |
Build complete! (11.38s)
Build complete.
{
"dependencies" : [
{
"identity" : "exceptioncatcher",
"requirement" : {
"range" : [
{
"lower_bound" : "2.0.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/sindresorhus/ExceptionCatcher"
}
],
"manifest_display_name" : "Diagnostics",
"name" : "Diagnostics",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "ios",
"version" : "12.0"
},
{
"name" : "tvos",
"version" : "12.0"
},
{
"name" : "watchos",
"version" : "6.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "Diagnostics",
"targets" : [
"Diagnostics"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "DiagnosticsTests",
"module_type" : "SwiftTarget",
"name" : "DiagnosticsTests",
"path" : "DiagnosticsTests",
"sources" : [
"DiagnosticsReporterTests.swift",
"Extensions/MFMailComposeViewControllerTests.swift",
"HTMLEncodingTests.swift",
"HTMLGeneratingTests.swift",
"Mocks.swift",
"Reporters/AppSystemMetadataReporterTests.swift",
"Reporters/DirectoryTree/DirectoryTreeFactoryTests.swift",
"Reporters/GeneralInfoReporterTests.swift",
"Reporters/LogsReporterTests.swift",
"Reporters/LogsTrimmerTests.swift",
"Reporters/SmartInsights/DeviceStorageInsightTests.swift",
"Reporters/SmartInsights/SmartInsightsReporterTests.swift",
"Reporters/SmartInsights/UpdateAvailableInsightTests.swift",
"Reporters/UserDefaultsReporterTests.swift"
],
"target_dependencies" : [
"Diagnostics"
],
"type" : "test"
},
{
"c99name" : "Diagnostics",
"module_type" : "SwiftTarget",
"name" : "Diagnostics",
"path" : "Sources",
"product_dependencies" : [
"ExceptionCatcher"
],
"product_memberships" : [
"Diagnostics"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/PrivacyInfo.xcprivacy",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/functions.js",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/style.css",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Device.swift",
"Diagnostics.swift",
"DiagnosticsChapter.swift",
"DiagnosticsReport.swift",
"DiagnosticsReportFilter.swift",
"DiagnosticsReporter.swift",
"Extensions/BundleExtensions.swift",
"Extensions/ByteCountFormatter.swift",
"Extensions/DateFormatterExtensions.swift",
"HTMLEncoding.swift",
"HTMLGenerating.swift",
"Logging/DiagnosticsLogger.swift",
"Logging/HTML+LoggableCSSClass.swift",
"Logging/Loggable.swift",
"Logging/LogsTrimmer.swift",
"MFMailExtensions/MFMailComposeVCExtensions.swift",
"MetricKit/MetricsMonitor.swift",
"Reporters/AppSystemMetadataReporter.swift",
"Reporters/DirectoryTree/DirectoryTreeFactory.swift",
"Reporters/DirectoryTree/DirectoryTreeNode.swift",
"Reporters/DirectoryTree/DirectoryTreeReporter.swift",
"Reporters/DirectoryTree/DirectoryTreeStringFactory.swift",
"Reporters/GeneralInfoReporter.swift",
"Reporters/LogsReporter.swift",
"Reporters/SmartInsightsReporter.swift",
"Reporters/UserDefaultsReporter.swift",
"SmartInsights/CellularAllowedInsight.swift",
"SmartInsights/DeviceStorageInsight.swift",
"SmartInsights/SmartInsight.swift",
"SmartInsights/SmartInsightsProviding.swift",
"SmartInsights/UpdateAvailableInsight.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.