Build Information
Successful build of ObjectEncoder, reference master (91461b
), with Swift 6.0 for macOS (SPM) on 30 Oct 2024 21:44:25 UTC.
Swift 6 data race errors: 21
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/norio-nomura/ObjectEncoder.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/norio-nomura/ObjectEncoder
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 91461be [GitHub Actions] Update action-swiftlint to 3.0.1
Cloned https://github.com/norio-nomura/ObjectEncoder.git
Revision (git rev-parse @):
91461bedfaee24f418a74adf6b9063fe59907aa2
SUCCESS checkout https://github.com/norio-nomura/ObjectEncoder.git at master
========================================
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": "objectencoder",
"name": "ObjectEncoder",
"url": "https://github.com/norio-nomura/ObjectEncoder.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/ObjectEncoder",
"dependencies": [
]
}
]
}
Fetching https://github.com/norio-nomura/ObjectEncoder.git
[1/699] Fetching objectencoder
Fetched https://github.com/norio-nomura/ObjectEncoder.git from cache (0.88s)
Creating working copy for https://github.com/norio-nomura/ObjectEncoder.git
Working copy of https://github.com/norio-nomura/ObjectEncoder.git resolved at master (91461be)
warning: '.resolve-product-dependencies': dependency 'objectencoder' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/norio-nomura/ObjectEncoder.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
[3/6] Compiling ObjectEncoder JSON.swift
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:397:23: warning: static property 'compatibleWithJSONEncoder' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Decimal>' may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
395 |
396 | extension ObjectEncoder.EncodingStrategy where T == Decimal {
397 | public static let compatibleWithJSONEncoder = ObjectEncoder.EncodingStrategy<Decimal>.custom { decimal, encoder in
| |- warning: static property 'compatibleWithJSONEncoder' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Decimal>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'compatibleWithJSONEncoder' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
398 | encoder.object = NSDecimalNumber(decimal: decimal)
399 | }
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:403:23: warning: static property 'throwOnNonConformingFloat' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Double>' may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
401 |
402 | extension ObjectEncoder.EncodingStrategy where T == Double {
403 | public static let throwOnNonConformingFloat = ObjectEncoder.DoubleEncodingStrategy.custom { double, encoder in
| |- warning: static property 'throwOnNonConformingFloat' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Double>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'throwOnNonConformingFloat' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
404 | guard !double.isInfinite && !double.isNaN else {
405 | throw _invalidFloatingPointValue(double, at: encoder.codingPath)
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:428:23: warning: static property 'throwOnNonConformingFloat' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Float>' may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
426 |
427 | extension ObjectEncoder.EncodingStrategy where T == Float {
428 | public static let throwOnNonConformingFloat = ObjectEncoder.FloatEncodingStrategy.custom { float, encoder in
| |- warning: static property 'throwOnNonConformingFloat' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Float>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'throwOnNonConformingFloat' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
429 | guard !float.isInfinite && !float.isNaN else {
430 | throw _invalidFloatingPointValue(float, at: encoder.codingPath)
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:453:23: warning: static property 'compatibleWithJSONEncoder' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<URL>' may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
451 |
452 | extension ObjectEncoder.EncodingStrategy where T == URL {
453 | public static let compatibleWithJSONEncoder = ObjectEncoder.EncodingStrategy<URL>.custom { url, encoder in
| |- warning: static property 'compatibleWithJSONEncoder' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<URL>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'compatibleWithJSONEncoder' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
454 | var container = encoder.singleValueContainer()
455 | try container.encode(url.absoluteString)
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:349:23: warning: static property 'deferredToData' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.DataEncodingStrategy?' (aka 'Optional<ObjectEncoder.EncodingStrategy<Data>>') may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
347 | extension ObjectEncoder.EncodingStrategy where T == Data {
348 | /// Defer to `Data` for choosing an encoding.
349 | public static let deferredToData: ObjectEncoder.DataEncodingStrategy? = nil
| |- warning: static property 'deferredToData' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.DataEncodingStrategy?' (aka 'Optional<ObjectEncoder.EncodingStrategy<Data>>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'deferredToData' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
350 |
351 | /// Encoded the `Data` as a Base64-encoded string. This is the default strategy.
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:366:23: warning: static property 'deferredToDate' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.DateEncodingStrategy?' (aka 'Optional<ObjectEncoder.EncodingStrategy<Date>>') may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
364 | extension ObjectEncoder.EncodingStrategy where T == Date {
365 | /// Defer to `Date` for choosing an encoding. This is the default strategy.
366 | public static let deferredToDate: ObjectEncoder.DateEncodingStrategy? = nil
| |- warning: static property 'deferredToDate' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.DateEncodingStrategy?' (aka 'Optional<ObjectEncoder.EncodingStrategy<Date>>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'deferredToDate' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
367 |
368 | /// Encode the `Date` as a UNIX timestamp (as a `Double`).
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:402:23: warning: static property 'compatibleWithJSONDecoder' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<Decimal>' may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
400 |
401 | extension ObjectDecoder.DecodingStrategy where T == Decimal {
402 | public static let compatibleWithJSONDecoder = ObjectDecoder.DecodingStrategy<Decimal>.custom { decoder in
| |- warning: static property 'compatibleWithJSONDecoder' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<Decimal>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'compatibleWithJSONDecoder' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
403 | if let decimal = decoder.object as? Decimal {
404 | return decimal
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:412:23: warning: static property 'deferredToDouble' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DoubleDecodingStrategy?' (aka 'Optional<ObjectDecoder.DecodingStrategy<Double>>') may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
410 |
411 | extension ObjectDecoder.DecodingStrategy where T == Double {
412 | public static let deferredToDouble: ObjectDecoder.DoubleDecodingStrategy? = nil
| |- warning: static property 'deferredToDouble' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DoubleDecodingStrategy?' (aka 'Optional<ObjectDecoder.DecodingStrategy<Double>>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'deferredToDouble' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
413 |
414 | public static func convertNonConformingFloatFromString(_ positiveInfinity: String,
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:435:23: warning: static property 'deferredToFloat' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.FloatDecodingStrategy?' (aka 'Optional<ObjectDecoder.DecodingStrategy<Float>>') may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
433 |
434 | extension ObjectDecoder.DecodingStrategy where T == Float {
435 | public static let deferredToFloat: ObjectDecoder.FloatDecodingStrategy? = nil
| |- warning: static property 'deferredToFloat' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.FloatDecodingStrategy?' (aka 'Optional<ObjectDecoder.DecodingStrategy<Float>>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'deferredToFloat' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
436 |
437 | public static func convertNonConformingFloatFromString(_ positiveInfinity: String,
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:458:23: warning: static property 'compatibleWithJSONDecoder' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<URL>' may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
456 |
457 | extension ObjectDecoder.DecodingStrategy where T == URL {
458 | public static let compatibleWithJSONDecoder = ObjectDecoder.DecodingStrategy<URL>.custom { decoder in
| |- warning: static property 'compatibleWithJSONDecoder' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<URL>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'compatibleWithJSONDecoder' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
459 | guard let url = URL(string: try String(from: decoder)) else {
460 | throw _dataCorrupted(at: decoder.codingPath, "Invalid URL string.")
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:357:23: warning: static property 'deferredToData' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DataDecodingStrategy?' (aka 'Optional<ObjectDecoder.DecodingStrategy<Data>>') may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
355 | extension ObjectDecoder.DecodingStrategy where T == Data {
356 | /// Defer to `Data` for decoding.
357 | public static let deferredToData: ObjectDecoder.DataDecodingStrategy? = nil
| |- warning: static property 'deferredToData' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DataDecodingStrategy?' (aka 'Optional<ObjectDecoder.DecodingStrategy<Data>>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'deferredToData' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
358 |
359 | /// Decode the `Data` from a Base64-encoded string. This is the default strategy.
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:370:23: warning: static property 'deferredToDate' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DateDecodingStrategy?' (aka 'Optional<ObjectDecoder.DecodingStrategy<Date>>') may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
368 | extension ObjectDecoder.DecodingStrategy where T == Date {
369 | /// Defer to `Date` for decoding.
370 | public static let deferredToDate: ObjectDecoder.DateDecodingStrategy? = nil
| |- warning: static property 'deferredToDate' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DateDecodingStrategy?' (aka 'Optional<ObjectDecoder.DecodingStrategy<Date>>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'deferredToDate' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
371 |
372 | /// Decode the `Date` as a UNIX timestamp from a `Double`.
[4/6] Compiling ObjectEncoder Encoder.swift
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:349:23: warning: static property 'deferredToData' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.DataEncodingStrategy?' (aka 'Optional<ObjectEncoder.EncodingStrategy<Data>>') may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
347 | extension ObjectEncoder.EncodingStrategy where T == Data {
348 | /// Defer to `Data` for choosing an encoding.
349 | public static let deferredToData: ObjectEncoder.DataEncodingStrategy? = nil
| |- warning: static property 'deferredToData' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.DataEncodingStrategy?' (aka 'Optional<ObjectEncoder.EncodingStrategy<Data>>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'deferredToData' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
350 |
351 | /// Encoded the `Data` as a Base64-encoded string. This is the default strategy.
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:352:23: warning: static property 'base64' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Data>' may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
350 |
351 | /// Encoded the `Data` as a Base64-encoded string. This is the default strategy.
352 | public static let base64 = ObjectEncoder.DataEncodingStrategy.custom {
| |- warning: static property 'base64' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Data>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'base64' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
353 | try $0.base64EncodedString().encode(to: $1)
354 | }
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:358:5: warning: var 'iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
356 |
357 | @available(OSX 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *)
358 | var iso8601Formatter: ISO8601DateFormatter = {
| |- warning: var 'iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'iso8601Formatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'iso8601Formatter' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
359 | let formatter = ISO8601DateFormatter()
360 | formatter.formatOptions = .withInternetDateTime
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:366:23: warning: static property 'deferredToDate' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.DateEncodingStrategy?' (aka 'Optional<ObjectEncoder.EncodingStrategy<Date>>') may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
364 | extension ObjectEncoder.EncodingStrategy where T == Date {
365 | /// Defer to `Date` for choosing an encoding. This is the default strategy.
366 | public static let deferredToDate: ObjectEncoder.DateEncodingStrategy? = nil
| |- warning: static property 'deferredToDate' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.DateEncodingStrategy?' (aka 'Optional<ObjectEncoder.EncodingStrategy<Date>>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'deferredToDate' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
367 |
368 | /// Encode the `Date` as a UNIX timestamp (as a `Double`).
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:369:23: warning: static property 'secondsSince1970' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Date>' may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
367 |
368 | /// Encode the `Date` as a UNIX timestamp (as a `Double`).
369 | public static let secondsSince1970 = ObjectEncoder.DateEncodingStrategy.custom { date, encoder in
| |- warning: static property 'secondsSince1970' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Date>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'secondsSince1970' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
370 | var container = encoder.singleValueContainer()
371 | try container.encode(date.timeIntervalSince1970)
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:375:23: warning: static property 'millisecondsSince1970' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Date>' may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
373 |
374 | /// Encode the `Date` as UNIX millisecond timestamp (as a `Double`).
375 | public static let millisecondsSince1970 = ObjectEncoder.DateEncodingStrategy.custom { date, encoder in
| |- warning: static property 'millisecondsSince1970' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Date>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'millisecondsSince1970' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
376 | var container = encoder.singleValueContainer()
377 | try container.encode(1000.0 * date.timeIntervalSince1970)
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:382:23: warning: static property 'iso8601' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Date>' may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
380 | /// Encode the `Date` as an ISO-8601-formatted string (in RFC 3339 format).
381 | @available(OSX 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *)
382 | public static let iso8601 = ObjectEncoder.DateEncodingStrategy.custom { date, encoder in
| |- warning: static property 'iso8601' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Date>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'iso8601' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
383 | var container = encoder.singleValueContainer()
384 | try container.encode(iso8601Formatter.string(from: date))
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:397:23: warning: static property 'compatibleWithJSONEncoder' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Decimal>' may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
395 |
396 | extension ObjectEncoder.EncodingStrategy where T == Decimal {
397 | public static let compatibleWithJSONEncoder = ObjectEncoder.EncodingStrategy<Decimal>.custom { decimal, encoder in
| |- warning: static property 'compatibleWithJSONEncoder' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Decimal>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'compatibleWithJSONEncoder' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
398 | encoder.object = NSDecimalNumber(decimal: decimal)
399 | }
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:403:23: warning: static property 'throwOnNonConformingFloat' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Double>' may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
401 |
402 | extension ObjectEncoder.EncodingStrategy where T == Double {
403 | public static let throwOnNonConformingFloat = ObjectEncoder.DoubleEncodingStrategy.custom { double, encoder in
| |- warning: static property 'throwOnNonConformingFloat' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Double>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'throwOnNonConformingFloat' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
404 | guard !double.isInfinite && !double.isNaN else {
405 | throw _invalidFloatingPointValue(double, at: encoder.codingPath)
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:428:23: warning: static property 'throwOnNonConformingFloat' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Float>' may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
426 |
427 | extension ObjectEncoder.EncodingStrategy where T == Float {
428 | public static let throwOnNonConformingFloat = ObjectEncoder.FloatEncodingStrategy.custom { float, encoder in
| |- warning: static property 'throwOnNonConformingFloat' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Float>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'throwOnNonConformingFloat' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
429 | guard !float.isInfinite && !float.isNaN else {
430 | throw _invalidFloatingPointValue(float, at: encoder.codingPath)
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:453:23: warning: static property 'compatibleWithJSONEncoder' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<URL>' may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
451 |
452 | extension ObjectEncoder.EncodingStrategy where T == URL {
453 | public static let compatibleWithJSONEncoder = ObjectEncoder.EncodingStrategy<URL>.custom { url, encoder in
| |- warning: static property 'compatibleWithJSONEncoder' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<URL>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'compatibleWithJSONEncoder' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
454 | var container = encoder.singleValueContainer()
455 | try container.encode(url.absoluteString)
[5/6] Emitting module ObjectEncoder
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:357:23: warning: static property 'deferredToData' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DataDecodingStrategy?' (aka 'Optional<ObjectDecoder.DecodingStrategy<Data>>') may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
355 | extension ObjectDecoder.DecodingStrategy where T == Data {
356 | /// Defer to `Data` for decoding.
357 | public static let deferredToData: ObjectDecoder.DataDecodingStrategy? = nil
| |- warning: static property 'deferredToData' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DataDecodingStrategy?' (aka 'Optional<ObjectDecoder.DecodingStrategy<Data>>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'deferredToData' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
358 |
359 | /// Decode the `Data` from a Base64-encoded string. This is the default strategy.
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:360:23: warning: static property 'base64' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<Data>' may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
358 |
359 | /// Decode the `Data` from a Base64-encoded string. This is the default strategy.
360 | public static let base64 = ObjectDecoder.DataDecodingStrategy.custom { decoder in
| |- warning: static property 'base64' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<Data>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'base64' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
361 | guard let data = Data(base64Encoded: try String(from: decoder)) else {
362 | throw _dataCorrupted(at: decoder.codingPath, "Encountered Data is not valid Base64.")
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:370:23: warning: static property 'deferredToDate' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DateDecodingStrategy?' (aka 'Optional<ObjectDecoder.DecodingStrategy<Date>>') may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
368 | extension ObjectDecoder.DecodingStrategy where T == Date {
369 | /// Defer to `Date` for decoding.
370 | public static let deferredToDate: ObjectDecoder.DateDecodingStrategy? = nil
| |- warning: static property 'deferredToDate' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DateDecodingStrategy?' (aka 'Optional<ObjectDecoder.DecodingStrategy<Date>>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'deferredToDate' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
371 |
372 | /// Decode the `Date` as a UNIX timestamp from a `Double`.
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:373:23: warning: static property 'secondsSince1970' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<Date>' may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
371 |
372 | /// Decode the `Date` as a UNIX timestamp from a `Double`.
373 | public static let secondsSince1970 = ObjectDecoder.DateDecodingStrategy.custom { decoder in
| |- warning: static property 'secondsSince1970' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<Date>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'secondsSince1970' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
374 | Date(timeIntervalSince1970: try Double(from: decoder))
375 | }
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:378:23: warning: static property 'millisecondsSince1970' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<Date>' may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
376 |
377 | /// Decode the `Date` as UNIX millisecond timestamp from a `Double`.
378 | public static let millisecondsSince1970 = ObjectDecoder.DateDecodingStrategy.custom { decoder in
| |- warning: static property 'millisecondsSince1970' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<Date>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'millisecondsSince1970' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
379 | Date(timeIntervalSince1970: try Double(from: decoder) / 1000.0)
380 | }
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:383:23: warning: static property 'iso8601' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<Date>' may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
381 | /// Decode the `Date` as an ISO-8601-formatted string (in RFC 3339 format).
382 | @available(OSX 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *)
383 | public static let iso8601 = ObjectDecoder.DateDecodingStrategy.custom { decoder in
| |- warning: static property 'iso8601' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<Date>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'iso8601' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
384 | guard let date = iso8601Formatter.date(from: try String(from: decoder)) else {
385 | throw _dataCorrupted(at: decoder.codingPath, "Expected date string to be ISO8601-formatted.")
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:358:5: warning: var 'iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
356 |
357 | @available(OSX 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *)
358 | var iso8601Formatter: ISO8601DateFormatter = {
| |- warning: var 'iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'iso8601Formatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'iso8601Formatter' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
359 | let formatter = ISO8601DateFormatter()
360 | formatter.formatOptions = .withInternetDateTime
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:402:23: warning: static property 'compatibleWithJSONDecoder' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<Decimal>' may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
400 |
401 | extension ObjectDecoder.DecodingStrategy where T == Decimal {
402 | public static let compatibleWithJSONDecoder = ObjectDecoder.DecodingStrategy<Decimal>.custom { decoder in
| |- warning: static property 'compatibleWithJSONDecoder' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<Decimal>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'compatibleWithJSONDecoder' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
403 | if let decimal = decoder.object as? Decimal {
404 | return decimal
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:412:23: warning: static property 'deferredToDouble' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DoubleDecodingStrategy?' (aka 'Optional<ObjectDecoder.DecodingStrategy<Double>>') may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
410 |
411 | extension ObjectDecoder.DecodingStrategy where T == Double {
412 | public static let deferredToDouble: ObjectDecoder.DoubleDecodingStrategy? = nil
| |- warning: static property 'deferredToDouble' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DoubleDecodingStrategy?' (aka 'Optional<ObjectDecoder.DecodingStrategy<Double>>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'deferredToDouble' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
413 |
414 | public static func convertNonConformingFloatFromString(_ positiveInfinity: String,
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:435:23: warning: static property 'deferredToFloat' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.FloatDecodingStrategy?' (aka 'Optional<ObjectDecoder.DecodingStrategy<Float>>') may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
433 |
434 | extension ObjectDecoder.DecodingStrategy where T == Float {
435 | public static let deferredToFloat: ObjectDecoder.FloatDecodingStrategy? = nil
| |- warning: static property 'deferredToFloat' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.FloatDecodingStrategy?' (aka 'Optional<ObjectDecoder.DecodingStrategy<Float>>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'deferredToFloat' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
436 |
437 | public static func convertNonConformingFloatFromString(_ positiveInfinity: String,
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:458:23: warning: static property 'compatibleWithJSONDecoder' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<URL>' may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
456 |
457 | extension ObjectDecoder.DecodingStrategy where T == URL {
458 | public static let compatibleWithJSONDecoder = ObjectDecoder.DecodingStrategy<URL>.custom { decoder in
| |- warning: static property 'compatibleWithJSONDecoder' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<URL>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'compatibleWithJSONDecoder' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
459 | guard let url = URL(string: try String(from: decoder)) else {
460 | throw _dataCorrupted(at: decoder.codingPath, "Invalid URL string.")
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:349:23: warning: static property 'deferredToData' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.DataEncodingStrategy?' (aka 'Optional<ObjectEncoder.EncodingStrategy<Data>>') may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
347 | extension ObjectEncoder.EncodingStrategy where T == Data {
348 | /// Defer to `Data` for choosing an encoding.
349 | public static let deferredToData: ObjectEncoder.DataEncodingStrategy? = nil
| |- warning: static property 'deferredToData' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.DataEncodingStrategy?' (aka 'Optional<ObjectEncoder.EncodingStrategy<Data>>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'deferredToData' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
350 |
351 | /// Encoded the `Data` as a Base64-encoded string. This is the default strategy.
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:352:23: warning: static property 'base64' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Data>' may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
350 |
351 | /// Encoded the `Data` as a Base64-encoded string. This is the default strategy.
352 | public static let base64 = ObjectEncoder.DataEncodingStrategy.custom {
| |- warning: static property 'base64' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Data>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'base64' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
353 | try $0.base64EncodedString().encode(to: $1)
354 | }
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:366:23: warning: static property 'deferredToDate' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.DateEncodingStrategy?' (aka 'Optional<ObjectEncoder.EncodingStrategy<Date>>') may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
364 | extension ObjectEncoder.EncodingStrategy where T == Date {
365 | /// Defer to `Date` for choosing an encoding. This is the default strategy.
366 | public static let deferredToDate: ObjectEncoder.DateEncodingStrategy? = nil
| |- warning: static property 'deferredToDate' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.DateEncodingStrategy?' (aka 'Optional<ObjectEncoder.EncodingStrategy<Date>>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'deferredToDate' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
367 |
368 | /// Encode the `Date` as a UNIX timestamp (as a `Double`).
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:369:23: warning: static property 'secondsSince1970' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Date>' may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
367 |
368 | /// Encode the `Date` as a UNIX timestamp (as a `Double`).
369 | public static let secondsSince1970 = ObjectEncoder.DateEncodingStrategy.custom { date, encoder in
| |- warning: static property 'secondsSince1970' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Date>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'secondsSince1970' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
370 | var container = encoder.singleValueContainer()
371 | try container.encode(date.timeIntervalSince1970)
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:375:23: warning: static property 'millisecondsSince1970' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Date>' may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
373 |
374 | /// Encode the `Date` as UNIX millisecond timestamp (as a `Double`).
375 | public static let millisecondsSince1970 = ObjectEncoder.DateEncodingStrategy.custom { date, encoder in
| |- warning: static property 'millisecondsSince1970' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Date>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'millisecondsSince1970' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
376 | var container = encoder.singleValueContainer()
377 | try container.encode(1000.0 * date.timeIntervalSince1970)
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:382:23: warning: static property 'iso8601' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Date>' may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
380 | /// Encode the `Date` as an ISO-8601-formatted string (in RFC 3339 format).
381 | @available(OSX 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *)
382 | public static let iso8601 = ObjectEncoder.DateEncodingStrategy.custom { date, encoder in
| |- warning: static property 'iso8601' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Date>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'iso8601' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
383 | var container = encoder.singleValueContainer()
384 | try container.encode(iso8601Formatter.string(from: date))
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:397:23: warning: static property 'compatibleWithJSONEncoder' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Decimal>' may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
395 |
396 | extension ObjectEncoder.EncodingStrategy where T == Decimal {
397 | public static let compatibleWithJSONEncoder = ObjectEncoder.EncodingStrategy<Decimal>.custom { decimal, encoder in
| |- warning: static property 'compatibleWithJSONEncoder' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Decimal>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'compatibleWithJSONEncoder' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
398 | encoder.object = NSDecimalNumber(decimal: decimal)
399 | }
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:403:23: warning: static property 'throwOnNonConformingFloat' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Double>' may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
401 |
402 | extension ObjectEncoder.EncodingStrategy where T == Double {
403 | public static let throwOnNonConformingFloat = ObjectEncoder.DoubleEncodingStrategy.custom { double, encoder in
| |- warning: static property 'throwOnNonConformingFloat' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Double>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'throwOnNonConformingFloat' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
404 | guard !double.isInfinite && !double.isNaN else {
405 | throw _invalidFloatingPointValue(double, at: encoder.codingPath)
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:428:23: warning: static property 'throwOnNonConformingFloat' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Float>' may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
426 |
427 | extension ObjectEncoder.EncodingStrategy where T == Float {
428 | public static let throwOnNonConformingFloat = ObjectEncoder.FloatEncodingStrategy.custom { float, encoder in
| |- warning: static property 'throwOnNonConformingFloat' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<Float>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'throwOnNonConformingFloat' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
429 | guard !float.isInfinite && !float.isNaN else {
430 | throw _invalidFloatingPointValue(float, at: encoder.codingPath)
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:453:23: warning: static property 'compatibleWithJSONEncoder' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<URL>' may have shared mutable state; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public struct EncodingStrategy<T: Encodable> {
| `- note: consider making generic struct 'EncodingStrategy' conform to the 'Sendable' protocol
31 | public typealias Closure = (T, Encoder) throws -> Void
32 | public init(closure: @escaping Closure) { self.closure = closure }
:
451 |
452 | extension ObjectEncoder.EncodingStrategy where T == URL {
453 | public static let compatibleWithJSONEncoder = ObjectEncoder.EncodingStrategy<URL>.custom { url, encoder in
| |- warning: static property 'compatibleWithJSONEncoder' is not concurrency-safe because non-'Sendable' type 'ObjectEncoder.EncodingStrategy<URL>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'compatibleWithJSONEncoder' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
454 | var container = encoder.singleValueContainer()
455 | try container.encode(url.absoluteString)
[6/6] Compiling ObjectEncoder Decoder.swift
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:357:23: warning: static property 'deferredToData' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DataDecodingStrategy?' (aka 'Optional<ObjectDecoder.DecodingStrategy<Data>>') may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
355 | extension ObjectDecoder.DecodingStrategy where T == Data {
356 | /// Defer to `Data` for decoding.
357 | public static let deferredToData: ObjectDecoder.DataDecodingStrategy? = nil
| |- warning: static property 'deferredToData' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DataDecodingStrategy?' (aka 'Optional<ObjectDecoder.DecodingStrategy<Data>>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'deferredToData' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
358 |
359 | /// Decode the `Data` from a Base64-encoded string. This is the default strategy.
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:360:23: warning: static property 'base64' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<Data>' may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
358 |
359 | /// Decode the `Data` from a Base64-encoded string. This is the default strategy.
360 | public static let base64 = ObjectDecoder.DataDecodingStrategy.custom { decoder in
| |- warning: static property 'base64' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<Data>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'base64' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
361 | guard let data = Data(base64Encoded: try String(from: decoder)) else {
362 | throw _dataCorrupted(at: decoder.codingPath, "Encountered Data is not valid Base64.")
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:370:23: warning: static property 'deferredToDate' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DateDecodingStrategy?' (aka 'Optional<ObjectDecoder.DecodingStrategy<Date>>') may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
368 | extension ObjectDecoder.DecodingStrategy where T == Date {
369 | /// Defer to `Date` for decoding.
370 | public static let deferredToDate: ObjectDecoder.DateDecodingStrategy? = nil
| |- warning: static property 'deferredToDate' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DateDecodingStrategy?' (aka 'Optional<ObjectDecoder.DecodingStrategy<Date>>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'deferredToDate' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
371 |
372 | /// Decode the `Date` as a UNIX timestamp from a `Double`.
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:373:23: warning: static property 'secondsSince1970' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<Date>' may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
371 |
372 | /// Decode the `Date` as a UNIX timestamp from a `Double`.
373 | public static let secondsSince1970 = ObjectDecoder.DateDecodingStrategy.custom { decoder in
| |- warning: static property 'secondsSince1970' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<Date>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'secondsSince1970' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
374 | Date(timeIntervalSince1970: try Double(from: decoder))
375 | }
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:378:23: warning: static property 'millisecondsSince1970' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<Date>' may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
376 |
377 | /// Decode the `Date` as UNIX millisecond timestamp from a `Double`.
378 | public static let millisecondsSince1970 = ObjectDecoder.DateDecodingStrategy.custom { decoder in
| |- warning: static property 'millisecondsSince1970' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<Date>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'millisecondsSince1970' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
379 | Date(timeIntervalSince1970: try Double(from: decoder) / 1000.0)
380 | }
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:383:23: warning: static property 'iso8601' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<Date>' may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
381 | /// Decode the `Date` as an ISO-8601-formatted string (in RFC 3339 format).
382 | @available(OSX 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *)
383 | public static let iso8601 = ObjectDecoder.DateDecodingStrategy.custom { decoder in
| |- warning: static property 'iso8601' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<Date>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'iso8601' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
384 | guard let date = iso8601Formatter.date(from: try String(from: decoder)) else {
385 | throw _dataCorrupted(at: decoder.codingPath, "Expected date string to be ISO8601-formatted.")
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Encoder.swift:358:5: warning: var 'iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
356 |
357 | @available(OSX 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *)
358 | var iso8601Formatter: ISO8601DateFormatter = {
| |- warning: var 'iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'iso8601Formatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'iso8601Formatter' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
359 | let formatter = ISO8601DateFormatter()
360 | formatter.formatOptions = .withInternetDateTime
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:402:23: warning: static property 'compatibleWithJSONDecoder' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<Decimal>' may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
400 |
401 | extension ObjectDecoder.DecodingStrategy where T == Decimal {
402 | public static let compatibleWithJSONDecoder = ObjectDecoder.DecodingStrategy<Decimal>.custom { decoder in
| |- warning: static property 'compatibleWithJSONDecoder' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<Decimal>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'compatibleWithJSONDecoder' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
403 | if let decimal = decoder.object as? Decimal {
404 | return decimal
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:412:23: warning: static property 'deferredToDouble' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DoubleDecodingStrategy?' (aka 'Optional<ObjectDecoder.DecodingStrategy<Double>>') may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
410 |
411 | extension ObjectDecoder.DecodingStrategy where T == Double {
412 | public static let deferredToDouble: ObjectDecoder.DoubleDecodingStrategy? = nil
| |- warning: static property 'deferredToDouble' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DoubleDecodingStrategy?' (aka 'Optional<ObjectDecoder.DecodingStrategy<Double>>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'deferredToDouble' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
413 |
414 | public static func convertNonConformingFloatFromString(_ positiveInfinity: String,
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:435:23: warning: static property 'deferredToFloat' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.FloatDecodingStrategy?' (aka 'Optional<ObjectDecoder.DecodingStrategy<Float>>') may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
433 |
434 | extension ObjectDecoder.DecodingStrategy where T == Float {
435 | public static let deferredToFloat: ObjectDecoder.FloatDecodingStrategy? = nil
| |- warning: static property 'deferredToFloat' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.FloatDecodingStrategy?' (aka 'Optional<ObjectDecoder.DecodingStrategy<Float>>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'deferredToFloat' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
436 |
437 | public static func convertNonConformingFloatFromString(_ positiveInfinity: String,
/Users/admin/builder/spi-builder-workspace/Sources/ObjectEncoder/Decoder.swift:458:23: warning: static property 'compatibleWithJSONDecoder' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<URL>' may have shared mutable state; this is an error in the Swift 6 language mode
26 | }
27 |
28 | public struct DecodingStrategy<T: Decodable> {
| `- note: consider making generic struct 'DecodingStrategy' conform to the 'Sendable' protocol
29 | public typealias Closure = (Decoder) throws -> T
30 | public init(closure: @escaping Closure) { self.closure = closure }
:
456 |
457 | extension ObjectDecoder.DecodingStrategy where T == URL {
458 | public static let compatibleWithJSONDecoder = ObjectDecoder.DecodingStrategy<URL>.custom { decoder in
| |- warning: static property 'compatibleWithJSONDecoder' is not concurrency-safe because non-'Sendable' type 'ObjectDecoder.DecodingStrategy<URL>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'compatibleWithJSONDecoder' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
459 | guard let url = URL(string: try String(from: decoder)) else {
460 | throw _dataCorrupted(at: decoder.codingPath, "Invalid URL string.")
Build complete! (6.64s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "ObjectEncoder",
"name" : "ObjectEncoder",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "ObjectEncoder",
"targets" : [
"ObjectEncoder"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "ObjectEncoderTests",
"module_type" : "SwiftTarget",
"name" : "ObjectEncoderTests",
"path" : "Tests/ObjectEncoderTests",
"sources" : [
"ObjectEncoderTests.swift",
"TestJSONEncoder.swift"
],
"target_dependencies" : [
"ObjectEncoder"
],
"type" : "test"
},
{
"c99name" : "ObjectEncoder",
"module_type" : "SwiftTarget",
"name" : "ObjectEncoder",
"path" : "Sources/ObjectEncoder",
"product_memberships" : [
"ObjectEncoder"
],
"sources" : [
"Decoder.swift",
"Encoder.swift",
"JSON.swift"
],
"type" : "library"
}
],
"tools_version" : "4.0"
}
Done.