Merge pull request #298 from ktopley-apple/dispatch-time-resync
Synchronize the Linux and Darwin overlay versions of Time.swift
diff --git a/src/swift/Time.swift b/src/swift/Time.swift
index d7d49c9..5522758 100644
--- a/src/swift/Time.swift
+++ b/src/swift/Time.swift
@@ -2,7 +2,7 @@
//
// This source file is part of the Swift.org open source project
//
-// Copyright (c) 2014 - 2016 Apple Inc. and the Swift project authors
+// Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See http://swift.org/LICENSE.txt for license information
@@ -78,13 +78,14 @@
}
}
-public func <(a: DispatchTime, b: DispatchTime) -> Bool {
- if a.rawValue == ~0 || b.rawValue == ~0 { return false }
- return a.rawValue < b.rawValue
-}
+extension DispatchTime {
+ public static func < (a: DispatchTime, b: DispatchTime) -> Bool {
+ return a.rawValue < b.rawValue
+ }
-public func ==(a: DispatchTime, b: DispatchTime) -> Bool {
- return a.rawValue == b.rawValue
+ public static func ==(a: DispatchTime, b: DispatchTime) -> Bool {
+ return a.rawValue == b.rawValue
+ }
}
public struct DispatchWallTime : Comparable {
@@ -106,17 +107,20 @@
}
}
-public func <(a: DispatchWallTime, b: DispatchWallTime) -> Bool {
- if b.rawValue == ~0 {
- return a.rawValue != ~0
- } else if a.rawValue == ~0 {
- return false
+extension DispatchWallTime {
+ public static func <(a: DispatchWallTime, b: DispatchWallTime) -> Bool {
+ let negativeOne: dispatch_time_t = ~0
+ if b.rawValue == negativeOne {
+ return a.rawValue != negativeOne
+ } else if a.rawValue == negativeOne {
+ return false
+ }
+ return -Int64(bitPattern: a.rawValue) < -Int64(bitPattern: b.rawValue)
}
- return -Int64(bitPattern: a.rawValue) < -Int64(bitPattern: b.rawValue)
-}
-public func ==(a: DispatchWallTime, b: DispatchWallTime) -> Bool {
- return a.rawValue == b.rawValue
+ public static func ==(a: DispatchWallTime, b: DispatchWallTime) -> Bool {
+ return a.rawValue == b.rawValue
+ }
}
public enum DispatchTimeInterval {