Skip to content

Commit 94a03b5

Browse files
committed
[PackageModel] SupportedFeatures: Account for "enabled_in" being an integer
Older versions of `-print-supported-features` emitted `enabled_in` field as an integer (major compiler version only), newer ones emit it as a string to support major+minor. (cherry picked from commit 40a0396)
1 parent 436c2c9 commit 94a03b5

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

Sources/PackageModel/Toolchain+SupportedFeatures.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,11 @@ extension Toolchain {
120120
let name: String = try $0.get("name")
121121
let categories: [String]? = try $0.getArrayIfAvailable("categories")
122122
let migratable: Bool? = $0.get("migratable")
123-
let enabledIn: String = try $0.get("enabled_in")
123+
let enabledIn = if let version = try? $0.get(String.self, forKey: "enabled_in") {
124+
version
125+
} else {
126+
try String($0.get(Int.self, forKey: "enabled_in"))
127+
}
124128

125129
guard let mode = SwiftLanguageVersion(string: enabledIn) else {
126130
throw InternalError("Unknown swift language mode: \(enabledIn)")

0 commit comments

Comments
 (0)