mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Remove the underscored public protocols from overlays
These protocols were introduced to work around the problem where compiler could not correctly handle instance of multiple @available attributes (one for the language version and another for teh OS version) applied to the same member. Now that the compiler issues has been fixed, it is the right time to get rid of the workarounds. Addresses: <rdar://problem/36556261>
This commit is contained in:
@@ -15,15 +15,9 @@ import Foundation
|
||||
|
||||
#if os(iOS) || os(watchOS)
|
||||
|
||||
// Simply extending the INRideOption type doesn't work due to:
|
||||
// <rdar://problem/29447066>
|
||||
// Compiler incorrectly handles combinations of availability declarations on
|
||||
// independent axes.
|
||||
public protocol _INRideOptionMeteredFare {
|
||||
var __usesMeteredFare: NSNumber? { get set }
|
||||
}
|
||||
|
||||
extension _INRideOptionMeteredFare {
|
||||
@available(iOS 10.0, watchOS 3.2, *)
|
||||
extension INRideOption {
|
||||
@available(iOS 10.0, watchOS 3.2, *)
|
||||
@available(swift, obsoleted: 4)
|
||||
@nonobjc
|
||||
public var usesMeteredFare: NSNumber? {
|
||||
@@ -35,6 +29,7 @@ extension _INRideOptionMeteredFare {
|
||||
}
|
||||
}
|
||||
|
||||
@available(iOS 10.0, watchOS 3.2, *)
|
||||
@available(swift, introduced: 4.0)
|
||||
@nonobjc
|
||||
public var usesMeteredFare: Bool? {
|
||||
@@ -47,8 +42,4 @@ extension _INRideOptionMeteredFare {
|
||||
}
|
||||
}
|
||||
|
||||
@available(iOS 10.0, watchOS 3.2, *)
|
||||
extension INRideOption : _INRideOptionMeteredFare {
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user