From 6e919fa7104863165296d2db3c8a09ac4967e867 Mon Sep 17 00:00:00 2001 From: Orhan Yigit Yazicilar Date: Tue, 23 Sep 2025 14:55:57 +0000 Subject: [PATCH 1/2] Drop Swift 5.10 --- Package.swift | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/Package.swift b/Package.swift index 582d905..6fc7fde 100644 --- a/Package.swift +++ b/Package.swift @@ -1,9 +1,9 @@ -// swift-tools-version:5.10 +// swift-tools-version:6.0 //===----------------------------------------------------------------------===// // // This source file is part of the SwiftASN1 open source project // -// Copyright (c) 2019-2023 Apple Inc. and the SwiftASN1 project authors +// Copyright (c) 2019-2025 Apple Inc. and the SwiftASN1 project authors // Licensed under Apache License v2.0 // // See LICENSE.txt for license information @@ -16,10 +16,19 @@ import PackageDescription import class Foundation.ProcessInfo -let upcomingFeatureSwiftSettings: [SwiftSetting] = [ - .enableUpcomingFeature("ExistentialAny"), - .enableUpcomingFeature("StrictConcurrency"), -] +let strictConcurrencyDevelopment = false + +let strictConcurrencySettings: [SwiftSetting] = { + var initialSettings: [SwiftSetting] = [] + + if strictConcurrencyDevelopment { + // -warnings-as-errors here is a workaround so that IDE-based development can + // get tripped up on -require-explicit-sendable. + initialSettings.append(.unsafeFlags(["-require-explicit-sendable", "-warnings-as-errors"])) + } + + return initialSettings +}() let package = Package( name: "swift-asn1", @@ -30,12 +39,12 @@ let package = Package( .target( name: "SwiftASN1", exclude: ["CMakeLists.txt"], - swiftSettings: upcomingFeatureSwiftSettings + swiftSettings: strictConcurrencySettings ), .testTarget( name: "SwiftASN1Tests", dependencies: ["SwiftASN1"], - swiftSettings: upcomingFeatureSwiftSettings + swiftSettings: strictConcurrencySettings ), ] ) From 1ff7d7d2694b14500b36533080a5c8c0f27f038a Mon Sep 17 00:00:00 2001 From: Orhan Yigit Yazicilar Date: Tue, 23 Sep 2025 16:25:22 +0100 Subject: [PATCH 2/2] Re-enable ExistentialAny --- Package.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index 6fc7fde..8dec772 100644 --- a/Package.swift +++ b/Package.swift @@ -19,7 +19,9 @@ import class Foundation.ProcessInfo let strictConcurrencyDevelopment = false let strictConcurrencySettings: [SwiftSetting] = { - var initialSettings: [SwiftSetting] = [] + var initialSettings: [SwiftSetting] = [ + .enableUpcomingFeature("ExistentialAny") + ] if strictConcurrencyDevelopment { // -warnings-as-errors here is a workaround so that IDE-based development can