Skip to content

Commit 332f39d

Browse files
authored
Merge pull request #30 from hirad/fix-exhaustive-DispatchTimeInterval-switch
fix exhaustive switch error in Xcode 9
2 parents 5b643a6 + 19a5b0a commit 332f39d

File tree

1 file changed

+25
-10
lines changed

1 file changed

+25
-10
lines changed

ReactiveObjCBridge/ObjectiveCBridging.swift

+25-10
Original file line numberDiff line numberDiff line change
@@ -486,15 +486,30 @@ public func bridgedTuple<First, Second, Third, Fourth, Fifth>(from tuple: RACFiv
486486

487487
extension DispatchTimeInterval {
488488
fileprivate var timeInterval: TimeInterval {
489-
switch self {
490-
case let .seconds(s):
491-
return TimeInterval(s)
492-
case let .milliseconds(ms):
493-
return TimeInterval(TimeInterval(ms) / 1000.0)
494-
case let .microseconds(us):
495-
return TimeInterval(UInt64(us) * NSEC_PER_USEC) / TimeInterval(NSEC_PER_SEC)
496-
case let .nanoseconds(ns):
497-
return TimeInterval(ns) / TimeInterval(NSEC_PER_SEC)
498-
}
489+
#if swift(>=3.2)
490+
switch self {
491+
case let .seconds(s):
492+
return TimeInterval(s)
493+
case let .milliseconds(ms):
494+
return TimeInterval(TimeInterval(ms) / 1000.0)
495+
case let .microseconds(us):
496+
return TimeInterval(Int64(us) * Int64(NSEC_PER_USEC)) / TimeInterval(NSEC_PER_SEC)
497+
case let .nanoseconds(ns):
498+
return TimeInterval(ns) / TimeInterval(NSEC_PER_SEC)
499+
case .never:
500+
return .infinity
501+
}
502+
#else
503+
switch self {
504+
case let .seconds(s):
505+
return TimeInterval(s)
506+
case let .milliseconds(ms):
507+
return TimeInterval(TimeInterval(ms) / 1000.0)
508+
case let .microseconds(us):
509+
return TimeInterval(Int64(us) * Int64(NSEC_PER_USEC)) / TimeInterval(NSEC_PER_SEC)
510+
case let .nanoseconds(ns):
511+
return TimeInterval(ns) / TimeInterval(NSEC_PER_SEC)
512+
}
513+
#endif
499514
}
500515
}

0 commit comments

Comments
 (0)