diff --git a/Package.swift b/Package.swift index ddb6a98..07fa4d5 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:5.5 +// swift-tools-version:6.0 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription @@ -10,7 +10,16 @@ let package = Package( .library(name: "ValidationKit", targets: ["ValidationKit"]), ], targets: [ - .target(name: "ValidationKit", dependencies: [], resources: [.process("Resources")]), - .testTarget(name: "ValidationKitTests", dependencies: ["ValidationKit"]), + .target( + name: "ValidationKit", + resources: [.process("Resources")], + swiftSettings: [ + .enableUpcomingFeature("StrictConcurrency") + ] + ), + .testTarget( + name: "ValidationKitTests", + dependencies: ["ValidationKit"] + ), ] ) diff --git a/Sources/ValidationKit/ValidationError.swift b/Sources/ValidationKit/ValidationError.swift index cc97a0d..a6b9ff7 100644 --- a/Sources/ValidationKit/ValidationError.swift +++ b/Sources/ValidationKit/ValidationError.swift @@ -9,7 +9,7 @@ import Foundation /// An error that occurs when input validation does not pass. -public struct ValidationError: Error, LocalizedError, Equatable, Hashable { +public struct ValidationError: Error, LocalizedError, Equatable, Hashable, Sendable { public let localizedDescription: String public var errorDescription: String? { localizedDescription diff --git a/Sources/ValidationKit/ValidationResult.swift b/Sources/ValidationKit/ValidationResult.swift index 323a657..427b344 100644 --- a/Sources/ValidationKit/ValidationResult.swift +++ b/Sources/ValidationKit/ValidationResult.swift @@ -13,6 +13,8 @@ public enum ValidationResult { case invalid(ValidationError) } +extension ValidationResult: Sendable where Value: Sendable {} + public extension ValidationResult { /// The validation error, or nil if the value is valid var error: ValidationError? {