Skip to content

Commit 9ba4dfa

Browse files
committed
[squash] StdlibVersion: update for tuple version numbers
1 parent 65728ea commit 9ba4dfa

File tree

1 file changed

+17
-10
lines changed

1 file changed

+17
-10
lines changed

stdlib/private/StdlibUnittest/StdlibVersion.swift

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,17 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13-
@_fixed_layout
1413
public struct StdlibVersion: RawRepresentable {
15-
public let rawValue: Double
14+
public let rawValue: (Int, Int)
1615

17-
@inlinable
18-
public init(rawValue: Double) {
16+
public init(rawValue: (Int, Int)) {
1917
self.rawValue = rawValue
2018
}
2119
}
2220

2321
extension StdlibVersion {
24-
public static func custom(_ version: Double) -> StdlibVersion {
25-
return StdlibVersion(rawValue: version)
22+
public static func custom(_ version1: Int, _ version2: Int) -> StdlibVersion {
23+
return StdlibVersion(rawValue: (version1, version2))
2624
}
2725

2826
public static var currentlyRunning: StdlibVersion {
@@ -31,9 +29,8 @@ extension StdlibVersion {
3129

3230
// Shipped in macOS 10.14.2, iOS 12.2, watchOS 5.2, tvOS 13.2
3331
public static var swift5_0: StdlibVersion {
34-
return StdlibVersion(rawValue: 1000.0)
32+
return StdlibVersion(rawValue: (1000, 0))
3533
}
36-
3734
}
3835

3936
extension StdlibVersion: CustomStringConvertible {
@@ -42,8 +39,18 @@ extension StdlibVersion: CustomStringConvertible {
4239
}
4340
}
4441

45-
extension StdlibVersion: Equatable {}
46-
extension StdlibVersion: Hashable {}
42+
extension StdlibVersion: Equatable {
43+
public static func == (left: StdlibVersion, right: StdlibVersion) -> Bool {
44+
return left.rawValue == right.rawValue
45+
}
46+
}
47+
48+
extension StdlibVersion: Hashable {
49+
public func hash(into hasher: inout Hasher) {
50+
hasher.combine(rawValue.0)
51+
hasher.combine(rawValue.1)
52+
}
53+
}
4754

4855
extension StdlibVersion: Comparable {
4956
public static func < (left: StdlibVersion, right: StdlibVersion) -> Bool {

0 commit comments

Comments
 (0)