diff --git a/Sources/DoggieCore/Foundation/WeakDictionary.swift b/Sources/DoggieCore/Foundation/WeakDictionary.swift index 150c746d..e8f7cf41 100644 --- a/Sources/DoggieCore/Foundation/WeakDictionary.swift +++ b/Sources/DoggieCore/Foundation/WeakDictionary.swift @@ -87,6 +87,16 @@ extension WeakDictionary { } } +#if compiler(>=5.5.2) && canImport(_Concurrency) + +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +extension WeakDictionary: Sendable where Key: Sendable, Value: Sendable { } + +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +extension WeakDictionary.ValueContainer: Sendable where Key: Sendable, Value: Sendable { } + +#endif + extension WeakDictionary { @inlinable diff --git a/Sources/DoggieCore/Foundation/WeakSet.swift b/Sources/DoggieCore/Foundation/WeakSet.swift index f02ce035..cf64d8b7 100644 --- a/Sources/DoggieCore/Foundation/WeakSet.swift +++ b/Sources/DoggieCore/Foundation/WeakSet.swift @@ -81,6 +81,16 @@ extension WeakSet { } } +#if compiler(>=5.5.2) && canImport(_Concurrency) + +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +extension WeakSet: Sendable where Element: Sendable { } + +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +extension WeakSet.ElementContainer: Sendable where Element: Sendable { } + +#endif + extension WeakSet { @inlinable diff --git a/Sources/DoggieCore/Swift/OptionOneCollection.swift b/Sources/DoggieCore/Swift/OptionOneCollection.swift index e9145534..18571b2e 100644 --- a/Sources/DoggieCore/Swift/OptionOneCollection.swift +++ b/Sources/DoggieCore/Swift/OptionOneCollection.swift @@ -74,6 +74,13 @@ extension OptionOneCollection: Hashable where T: Hashable { } +#if compiler(>=5.5.2) && canImport(_Concurrency) + +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +extension OptionOneCollection: Sendable where T: Sendable { } + +#endif + extension OptionOneCollection: ContiguousBytes where Element == UInt8 { @inlinable diff --git a/Sources/DoggieGeometry/Bezier/Bezier.swift b/Sources/DoggieGeometry/Bezier/Bezier.swift index 41eb24e7..5bdf4e27 100644 --- a/Sources/DoggieGeometry/Bezier/Bezier.swift +++ b/Sources/DoggieGeometry/Bezier/Bezier.swift @@ -100,6 +100,13 @@ extension Bezier: Encodable where Element: Encodable { } } +#if compiler(>=5.5.2) && canImport(_Concurrency) + +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +extension Bezier: Sendable where Element: Sendable { } + +#endif + extension Bezier { @inlinable diff --git a/Sources/DoggieGeometry/Bezier/CubicBezier.swift b/Sources/DoggieGeometry/Bezier/CubicBezier.swift index eaf6e1f2..96d34f92 100644 --- a/Sources/DoggieGeometry/Bezier/CubicBezier.swift +++ b/Sources/DoggieGeometry/Bezier/CubicBezier.swift @@ -89,6 +89,13 @@ extension CubicBezier: Encodable where Element: Encodable { } } +#if compiler(>=5.5.2) && canImport(_Concurrency) + +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +extension CubicBezier: Sendable where Element: Sendable { } + +#endif + extension CubicBezier { @inlinable diff --git a/Sources/DoggieGeometry/Bezier/CubicBezierPatch.swift b/Sources/DoggieGeometry/Bezier/CubicBezierPatch.swift index 11c9a1c0..2eeab4d6 100644 --- a/Sources/DoggieGeometry/Bezier/CubicBezierPatch.swift +++ b/Sources/DoggieGeometry/Bezier/CubicBezierPatch.swift @@ -106,6 +106,13 @@ extension CubicBezierPatch: Hashable where Element: Hashable { } +#if compiler(>=5.5.2) && canImport(_Concurrency) + +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +extension CubicBezierPatch: Sendable where Element: Sendable { } + +#endif + extension CubicBezierPatch { @inlinable diff --git a/Sources/DoggieGeometry/Bezier/CubicBezierTriangularPatch.swift b/Sources/DoggieGeometry/Bezier/CubicBezierTriangularPatch.swift index d9b187f8..78ee5a9b 100644 --- a/Sources/DoggieGeometry/Bezier/CubicBezierTriangularPatch.swift +++ b/Sources/DoggieGeometry/Bezier/CubicBezierTriangularPatch.swift @@ -60,6 +60,13 @@ extension CubicBezierTriangularPatch: Hashable where Element: Hashable { } +#if compiler(>=5.5.2) && canImport(_Concurrency) + +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +extension CubicBezierTriangularPatch: Sendable where Element: Sendable { } + +#endif + extension CubicBezierTriangularPatch { @inlinable diff --git a/Sources/DoggieGeometry/Bezier/LineSegment.swift b/Sources/DoggieGeometry/Bezier/LineSegment.swift index 1bb6a7b8..ef583b85 100644 --- a/Sources/DoggieGeometry/Bezier/LineSegment.swift +++ b/Sources/DoggieGeometry/Bezier/LineSegment.swift @@ -78,6 +78,13 @@ extension LineSegment: Encodable where Element: Encodable { } } +#if compiler(>=5.5.2) && canImport(_Concurrency) + +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +extension LineSegment: Sendable where Element: Sendable { } + +#endif + extension LineSegment { @inlinable diff --git a/Sources/DoggieGeometry/Bezier/QuadBezier.swift b/Sources/DoggieGeometry/Bezier/QuadBezier.swift index 4c81154b..f36b8c08 100644 --- a/Sources/DoggieGeometry/Bezier/QuadBezier.swift +++ b/Sources/DoggieGeometry/Bezier/QuadBezier.swift @@ -84,6 +84,13 @@ extension QuadBezier: Encodable where Element: Encodable { } } +#if compiler(>=5.5.2) && canImport(_Concurrency) + +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +extension QuadBezier: Sendable where Element: Sendable { } + +#endif + extension QuadBezier { @inlinable diff --git a/Sources/DoggieGeometry/Geometry/EdgeInsets.swift b/Sources/DoggieGeometry/Geometry/EdgeInsets.swift index 965ad32c..38376eb6 100644 --- a/Sources/DoggieGeometry/Geometry/EdgeInsets.swift +++ b/Sources/DoggieGeometry/Geometry/EdgeInsets.swift @@ -44,6 +44,13 @@ public struct EdgeInsets: Hashable { } } +#if compiler(>=5.5.2) && canImport(_Concurrency) + +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +extension EdgeInsets: Sendable { } + +#endif + extension Rect { @inlinable diff --git a/Sources/DoggieGeometry/Geometry/Ellipse.swift b/Sources/DoggieGeometry/Geometry/Ellipse.swift index 26a3bf36..2db77a55 100644 --- a/Sources/DoggieGeometry/Geometry/Ellipse.swift +++ b/Sources/DoggieGeometry/Geometry/Ellipse.swift @@ -78,6 +78,13 @@ extension Radius: Codable { } } +#if compiler(>=5.5.2) && canImport(_Concurrency) + +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +extension Radius: Sendable { } + +#endif + @inlinable @inline(__always) public func Ellipse(_ t: Double, _ p: Point, _ r: Radius) -> Point { diff --git a/Sources/DoggieGeometry/Geometry/Matrix.swift b/Sources/DoggieGeometry/Geometry/Matrix.swift index d7d1d026..386cd7d1 100644 --- a/Sources/DoggieGeometry/Geometry/Matrix.swift +++ b/Sources/DoggieGeometry/Geometry/Matrix.swift @@ -129,6 +129,13 @@ extension Matrix: Codable { } } +#if compiler(>=5.5.2) && canImport(_Concurrency) + +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +extension Matrix: Sendable { } + +#endif + extension Matrix { @inlinable diff --git a/Sources/DoggieGeometry/Geometry/Point.swift b/Sources/DoggieGeometry/Geometry/Point.swift index b422ba43..e31ed1d4 100644 --- a/Sources/DoggieGeometry/Geometry/Point.swift +++ b/Sources/DoggieGeometry/Geometry/Point.swift @@ -131,6 +131,13 @@ extension Point: Codable { } } +#if compiler(>=5.5.2) && canImport(_Concurrency) + +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +extension Point: Sendable { } + +#endif + extension Point: Tensor { public typealias Indices = Range diff --git a/Sources/DoggieGeometry/Geometry/Rect.swift b/Sources/DoggieGeometry/Geometry/Rect.swift index 26044ac1..af626c44 100644 --- a/Sources/DoggieGeometry/Geometry/Rect.swift +++ b/Sources/DoggieGeometry/Geometry/Rect.swift @@ -98,6 +98,13 @@ extension Rect: Codable { } } +#if compiler(>=5.5.2) && canImport(_Concurrency) + +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +extension Rect: Sendable { } + +#endif + extension Rect { @inlinable diff --git a/Sources/DoggieGeometry/Geometry/SDTransform.swift b/Sources/DoggieGeometry/Geometry/SDTransform.swift index 04ee4cb7..bac7ee2e 100644 --- a/Sources/DoggieGeometry/Geometry/SDTransform.swift +++ b/Sources/DoggieGeometry/Geometry/SDTransform.swift @@ -98,6 +98,13 @@ extension SDTransform: Codable { } } +#if compiler(>=5.5.2) && canImport(_Concurrency) + +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +extension SDTransform: Sendable { } + +#endif + extension SDTransform { @inlinable diff --git a/Sources/DoggieGeometry/Geometry/Size.swift b/Sources/DoggieGeometry/Geometry/Size.swift index 950be42c..3fbb29c5 100644 --- a/Sources/DoggieGeometry/Geometry/Size.swift +++ b/Sources/DoggieGeometry/Geometry/Size.swift @@ -90,6 +90,13 @@ extension Size: Codable { } } +#if compiler(>=5.5.2) && canImport(_Concurrency) + +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +extension Size: Sendable { } + +#endif + extension Size { @inlinable diff --git a/Sources/DoggieGeometry/Geometry/Vector.swift b/Sources/DoggieGeometry/Geometry/Vector.swift index 26f57bd6..b6837f0e 100644 --- a/Sources/DoggieGeometry/Geometry/Vector.swift +++ b/Sources/DoggieGeometry/Geometry/Vector.swift @@ -114,6 +114,13 @@ extension Vector: Codable { } } +#if compiler(>=5.5.2) && canImport(_Concurrency) + +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +extension Vector: Sendable { } + +#endif + extension Vector { @inlinable diff --git a/Sources/DoggieMath/Complex.swift b/Sources/DoggieMath/Complex.swift index 5a2b235f..9126becb 100644 --- a/Sources/DoggieMath/Complex.swift +++ b/Sources/DoggieMath/Complex.swift @@ -61,6 +61,13 @@ public struct Complex: Hashable { } } +#if compiler(>=5.5.2) && canImport(_Concurrency) + +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +extension Complex: Sendable { } + +#endif + extension Complex { @inlinable diff --git a/Sources/DoggieMath/Polynomial.swift b/Sources/DoggieMath/Polynomial.swift index 40ed6887..7d97b986 100644 --- a/Sources/DoggieMath/Polynomial.swift +++ b/Sources/DoggieMath/Polynomial.swift @@ -113,6 +113,13 @@ extension Polynomial: Codable { } } +#if compiler(>=5.5.2) && canImport(_Concurrency) + +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +extension Polynomial: Sendable { } + +#endif + extension Polynomial: RandomAccessCollection, MutableCollection { public typealias Indices = Range diff --git a/Sources/DoggieMath/Rational.swift b/Sources/DoggieMath/Rational.swift index 13eeb009..fca6b480 100644 --- a/Sources/DoggieMath/Rational.swift +++ b/Sources/DoggieMath/Rational.swift @@ -125,6 +125,13 @@ extension Rational: CustomStringConvertible { } } +#if compiler(>=5.5.2) && canImport(_Concurrency) + +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +extension Rational: Sendable { } + +#endif + extension Rational: SignedNumeric { @inlinable