diff --git a/Documentation/GettingStarted.md b/Documentation/GettingStarted.md index 83fe322d..d74befc7 100644 --- a/Documentation/GettingStarted.md +++ b/Documentation/GettingStarted.md @@ -79,7 +79,7 @@ Sequences in Rx are described by a push interface (aka callback). ```swift enum Event { case Next(Element) // next element of a sequence - case Error(ErrorProtocol) // sequence failed with error + case Error(Swift.Error) // sequence failed with error case Completed // sequence terminated successfully } @@ -102,7 +102,7 @@ If a sequence does not terminate in some way, resources will be allocated perman **Using dispose bags or `takeUntil` operator is a robust way of making sure resources are cleaned up. We recommend using them in production even if the sequences will terminate in finite time.** -In case you are curious why `ErrorProtocol` isn't generic, you can find explanation [here](DesignRationale.md#why-error-type-isnt-generic). +In case you are curious why `Swift.Error` isn't generic, you can find explanation [here](DesignRationale.md#why-error-type-isnt-generic). ## Disposing diff --git a/Documentation/Linux.md b/Documentation/Linux.md index 413b0ea1..1fd2d6e6 100644 --- a/Documentation/Linux.md +++ b/Documentation/Linux.md @@ -28,4 +28,4 @@ What works: What doesn't work: * Schedulers - because they are dependent on https://github.com/apple/swift-corelibs-libdispatch and it still hasn't been released * Multithreading - still no access to c11 locks -* For some reason it looks like Swift compiler generates wrong code when using `ErrorProtocol` on `Linux`, so don't use errors, otherwise you can get weird crashes. +* For some reason it looks like Swift compiler generates wrong code when using `Swift.Error` on `Linux`, so don't use errors, otherwise you can get weird crashes. diff --git a/Rx.playground/Sources/SupportCode.swift b/Rx.playground/Sources/SupportCode.swift index 7c653a7b..298f20e7 100644 --- a/Rx.playground/Sources/SupportCode.swift +++ b/Rx.playground/Sources/SupportCode.swift @@ -14,7 +14,7 @@ public func printExampleHeader(description: String) { print("\n--- \(description) example ---") } -public enum Error: ErrorProtocol { +public enum Error: Swift.Error { case test } @@ -27,7 +27,7 @@ public enum Error: ErrorProtocol { public func delay(delay: Double, closure: (Void) -> Void) { let delayTime = DispatchTime.now() + DispatchTimeInterval.seconds(Int(delay)) - DispatchQueue.main.after(when: delayTime) { + DispatchQueue.main.asyncAfter(deadline: delayTime) { closure() } } diff --git a/RxBlocking/BlockingObservable+Operators.swift b/RxBlocking/BlockingObservable+Operators.swift index faf5f025..783feeb9 100644 --- a/RxBlocking/BlockingObservable+Operators.swift +++ b/RxBlocking/BlockingObservable+Operators.swift @@ -22,7 +22,7 @@ extension BlockingObservable { public func toArray() throws -> [E] { var elements: [E] = Array() - var error: ErrorProtocol? + var error: Swift.Error? let lock = RunLoopLock() @@ -70,7 +70,7 @@ extension BlockingObservable { public func first() throws -> E? { var element: E? - var error: ErrorProtocol? + var error: Swift.Error? let d = SingleAssignmentDisposable() @@ -122,7 +122,7 @@ extension BlockingObservable { public func last() throws -> E? { var element: E? - var error: ErrorProtocol? + var error: Swift.Error? let d = SingleAssignmentDisposable() @@ -183,7 +183,7 @@ extension BlockingObservable { public func single(_ predicate: (E) throws -> Bool) throws -> E? { var element: E? - var error: ErrorProtocol? + var error: Swift.Error? let d = SingleAssignmentDisposable() diff --git a/RxCocoa/Common/CocoaUnits/Driver/Driver+Operators.swift b/RxCocoa/Common/CocoaUnits/Driver/Driver+Operators.swift index ea428d94..7c7e9ddb 100644 --- a/RxCocoa/Common/CocoaUnits/Driver/Driver+Operators.swift +++ b/RxCocoa/Common/CocoaUnits/Driver/Driver+Operators.swift @@ -137,7 +137,7 @@ extension DriverConvertibleType { - returns: The source sequence with the side-effecting behavior applied. */ // @warn_unused_result(message:"http://git.io/rxs.uo") - public func doOn(onNext: ((E) -> Void)? = nil, onError: ((ErrorProtocol) -> Void)? = nil, onCompleted: (() -> Void)? = nil) + public func doOn(onNext: ((E) -> Void)? = nil, onError: ((Swift.Error) -> Void)? = nil, onCompleted: (() -> Void)? = nil) -> Driver { let source = self.asObservable() .doOn(onNext: onNext, onError: onError, onCompleted: onCompleted) diff --git a/RxCocoa/Common/CocoaUnits/Driver/ObservableConvertibleType+Driver.swift b/RxCocoa/Common/CocoaUnits/Driver/ObservableConvertibleType+Driver.swift index 4ccfc56e..455bdff1 100644 --- a/RxCocoa/Common/CocoaUnits/Driver/ObservableConvertibleType+Driver.swift +++ b/RxCocoa/Common/CocoaUnits/Driver/ObservableConvertibleType+Driver.swift @@ -51,7 +51,7 @@ extension ObservableConvertibleType { - returns: Driving observable sequence. */ // @warn_unused_result(message:"http://git.io/rxs.uo") - public func asDriver(onErrorRecover: (error: ErrorProtocol) -> Driver) -> Driver { + public func asDriver(onErrorRecover: (error: Swift.Error) -> Driver) -> Driver { let source = self .asObservable() .observeOn(driverObserveOnScheduler) diff --git a/RxCocoa/Common/Observables/NSObject+Rx.swift b/RxCocoa/Common/Observables/NSObject+Rx.swift index 3539aa3b..fcaff000 100644 --- a/RxCocoa/Common/Observables/NSObject+Rx.swift +++ b/RxCocoa/Common/Observables/NSObject+Rx.swift @@ -126,6 +126,10 @@ extension NSObject { - returns: Observable sequence of object deallocating events. */ public func rx_sentMessage(_ selector: Selector) -> Observable<[AnyObject]> { + return Observable.create { _ in + return AnonymousDisposable {} + } + /* return rx_synchronized { // in case of dealloc selector replay subject behavior needs to be used if selector == deallocSelector { @@ -160,7 +164,7 @@ extension NSObject { subject.targetImplementation = targetImplementation return subject.asObservable() - } + }*/ } /** @@ -174,6 +178,10 @@ extension NSObject { - returns: Observable sequence of object deallocating events. */ public var rx_deallocating: Observable<()> { + return Observable.create { _ in + return AnonymousDisposable {} + } + /* return rx_synchronized { let subject: DeallocatingObservable @@ -202,7 +210,7 @@ extension NSObject { subject.targetImplementation = targetImplementation! return subject.asObservable() - } + }*/ } #endif } diff --git a/RxCocoa/Common/Observables/NSURLSession+Rx.swift b/RxCocoa/Common/Observables/NSURLSession+Rx.swift index e0d329ab..0e183bda 100644 --- a/RxCocoa/Common/Observables/NSURLSession+Rx.swift +++ b/RxCocoa/Common/Observables/NSURLSession+Rx.swift @@ -15,7 +15,7 @@ import RxSwift RxCocoa URL errors. */ public enum RxCocoaURLError - : ErrorProtocol + : Swift.Error , CustomDebugStringConvertible { /** Unknown error occurred. @@ -32,7 +32,7 @@ public enum RxCocoaURLError /** Deserialization error. */ - case deserializationError(error: ErrorProtocol) + case deserializationError(error: Swift.Error) } public extension RxCocoaURLError { diff --git a/RxCocoa/Common/RxCocoa.swift b/RxCocoa/Common/RxCocoa.swift index 1c1de971..5aba2e45 100644 --- a/RxCocoa/Common/RxCocoa.swift +++ b/RxCocoa/Common/RxCocoa.swift @@ -18,7 +18,7 @@ import RxSwift RxCocoa errors. */ public enum RxCocoaError - : ErrorProtocol + : Swift.Error , CustomDebugStringConvertible { /** Unknown error has occurred. @@ -69,7 +69,7 @@ public enum RxCocoaInterceptionMechanism { RxCocoa ObjC runtime modification errors. */ public enum RxCocoaObjCRuntimeError - : ErrorProtocol + : Swift.Error , CustomDebugStringConvertible { /** Unknown error has occurred. @@ -193,23 +193,23 @@ public extension RxCocoaObjCRuntimeError { switch self { case let .unknown(target): return "Unknown error occurred.\nTarget: `\(target)`" - case let objectMessagesAlreadyBeingIntercepted(target, interceptionMechanism): + case let .objectMessagesAlreadyBeingIntercepted(target, interceptionMechanism): let interceptionMechanismDescription = interceptionMechanism == .kvo ? "KVO" : "other interception mechanism" return "Collision between RxCocoa interception mechanism and \(interceptionMechanismDescription)." + " To resolve this conflict please use this interception mechanism first.\nTarget: \(target)" - case let selectorNotImplemented(target): + case let .selectorNotImplemented(target): return "Trying to observe messages for selector that isn't implemented.\nTarget: \(target)" - case let cantInterceptCoreFoundationTollFreeBridgedObjects(target): + case let .cantInterceptCoreFoundationTollFreeBridgedObjects(target): return "Interception of messages sent to Core Foundation isn't supported.\nTarget: \(target)" - case let threadingCollisionWithOtherInterceptionMechanism(target): + case let .threadingCollisionWithOtherInterceptionMechanism(target): return "Detected a conflict while modifying ObjC runtime.\nTarget: \(target)" - case let savingOriginalForwardingMethodFailed(target): + case let .savingOriginalForwardingMethodFailed(target): return "Saving original method implementation failed.\nTarget: \(target)" - case let replacingMethodWithForwardingImplementation(target): + case let .replacingMethodWithForwardingImplementation(target): return "Intercepting a sent message by replacing a method implementation with `_objc_msgForward` failed for some reason.\nTarget: \(target)" - case let observingPerformanceSensitiveMessages(target): + case let .observingPerformanceSensitiveMessages(target): return "Attempt to intercept one of the performance sensitive methods. \nTarget: \(target)" - case let observingMessagesWithUnsupportedReturnType(target): + case let .observingMessagesWithUnsupportedReturnType(target): return "Attempt to intercept a method with unsupported return type. \nTarget: \(target)" } } @@ -219,7 +219,7 @@ public extension RxCocoaObjCRuntimeError { // MARK: Error binding policies -func bindingErrorToInterface(_ error: ErrorProtocol) { +func bindingErrorToInterface(_ error: Swift.Error) { let error = "Binding error to UI: \(error)" #if DEBUG rxFatalError(error) diff --git a/RxCocoa/iOS/UICollectionView+Rx.swift b/RxCocoa/iOS/UICollectionView+Rx.swift index 685724b1..1fd54628 100644 --- a/RxCocoa/iOS/UICollectionView+Rx.swift +++ b/RxCocoa/iOS/UICollectionView+Rx.swift @@ -135,7 +135,7 @@ extension UICollectionView { .addDisposableTo(disposeBag) */ public func rx_itemsWithDataSource< - DataSource: protocol, + DataSource: RxCollectionViewDataSourceType & UICollectionViewDataSource, O: ObservableType where DataSource.Element == O.E > (_ dataSource: DataSource) diff --git a/RxCocoa/iOS/UILabel+Rx.swift b/RxCocoa/iOS/UILabel+Rx.swift index f7dfded9..ee3d8004 100644 --- a/RxCocoa/iOS/UILabel+Rx.swift +++ b/RxCocoa/iOS/UILabel+Rx.swift @@ -28,7 +28,7 @@ extension UILabel { /** Bindable sink for `attributedText` property. */ - public var rx_attributedText: AnyObserver { + public var rx_attributedText: AnyObserver { return UIBindingObserver(UIElement: self) { label, text in label.attributedText = text }.asObserver() diff --git a/RxCocoa/iOS/UITableView+Rx.swift b/RxCocoa/iOS/UITableView+Rx.swift index 4996d5b9..0eea50e5 100644 --- a/RxCocoa/iOS/UITableView+Rx.swift +++ b/RxCocoa/iOS/UITableView+Rx.swift @@ -138,7 +138,7 @@ extension UITableView { .addDisposableTo(disposeBag) */ public func rx_itemsWithDataSource< - DataSource: protocol, + DataSource: RxTableViewDataSourceType & UITableViewDataSource, O: ObservableType where DataSource.Element == O.E > (_ dataSource: DataSource) diff --git a/RxExample/RxDataSources/DataSources/DataSources.swift b/RxExample/RxDataSources/DataSources/DataSources.swift index 4a39cf9a..0d560711 100644 --- a/RxExample/RxDataSources/DataSources/DataSources.swift +++ b/RxExample/RxDataSources/DataSources/DataSources.swift @@ -8,7 +8,7 @@ import Foundation -enum RxDataSourceError : ErrorProtocol { +enum RxDataSourceError : Swift.Error { case unwrappingOptional case preconditionFailed(message: String) } @@ -22,7 +22,7 @@ func rxPrecondition(_ condition: Bool, _ message: @autoclosure() -> String) thro throw RxDataSourceError.preconditionFailed(message: message()) } -func rxDebugFatalError(_ error: ErrorProtocol) { +func rxDebugFatalError(_ error: Swift.Error) { rxDebugFatalError("\(error)") } diff --git a/RxExample/RxDataSources/DataSources/Differentiator.swift b/RxExample/RxDataSources/DataSources/Differentiator.swift index e9979e79..e3077b8a 100644 --- a/RxExample/RxDataSources/DataSources/Differentiator.swift +++ b/RxExample/RxDataSources/DataSources/Differentiator.swift @@ -9,7 +9,7 @@ import Foundation public enum DifferentiatorError - : ErrorProtocol + : Swift.Error , CustomDebugStringConvertible { case duplicateItem(item: Any) case duplicateSection(section: Any) diff --git a/RxExample/RxExample-iOSTests/TestScheduler+MarbleTests.swift b/RxExample/RxExample-iOSTests/TestScheduler+MarbleTests.swift index b749c17d..5cd2e991 100644 --- a/RxExample/RxExample-iOSTests/TestScheduler+MarbleTests.swift +++ b/RxExample/RxExample-iOSTests/TestScheduler+MarbleTests.swift @@ -41,7 +41,7 @@ extension TestScheduler { - `|` marks sequence completed */ - func parseEventsAndTimes(timeline: String, values: [String: T], errors: [String: ErrorProtocol] = [:]) -> [[Recorded>]] { + func parseEventsAndTimes(timeline: String, values: [String: T], errors: [String: Swift.Error] = [:]) -> [[Recorded>]] { //print("parsing: \(timeline)") typealias RecordedEvent = Recorded> @@ -112,7 +112,7 @@ extension TestScheduler { - returns: Observable sequence specified by timeline and values. */ - func createObservable(timeline: String, values: [String: T], errors: [String: ErrorProtocol] = [:]) -> Observable { + func createObservable(timeline: String, values: [String: T], errors: [String: Swift.Error] = [:]) -> Observable { let events = self.parseEventsAndTimes(timeline: timeline, values: values, errors: errors) return createObservable(events) } @@ -174,7 +174,7 @@ extension TestScheduler { - returns: Implementation of method that accepts arguments with parameter `Arg` and returns observable sequence with parameter `Ret`. */ - func mock(values: [String: Ret], errors: [String: ErrorProtocol] = [:], timelineSelector: (Arg) -> String) -> (Arg) -> Observable { + func mock(values: [String: Ret], errors: [String: Swift.Error] = [:], timelineSelector: (Arg) -> String) -> (Arg) -> Observable { return { (parameters: Arg) -> Observable in let timeline = timelineSelector(parameters) diff --git a/RxExample/RxExample/Services/ActivityIndicator.swift b/RxExample/RxExample/Services/ActivityIndicator.swift index 853afe6a..5ea8062b 100644 --- a/RxExample/RxExample/Services/ActivityIndicator.swift +++ b/RxExample/RxExample/Services/ActivityIndicator.swift @@ -39,7 +39,7 @@ When all activities complete `false` will be sent. public class ActivityIndicator : DriverConvertibleType { public typealias E = Bool - private let _lock = RecursiveLock() + private let _lock = NSRecursiveLock() private let _variable = Variable(0) private let _loading: Driver diff --git a/RxExample/RxExample/Services/Reachability.swift b/RxExample/RxExample/Services/Reachability.swift index a5f90440..ea000464 100644 --- a/RxExample/RxExample/Services/Reachability.swift +++ b/RxExample/RxExample/Services/Reachability.swift @@ -28,7 +28,7 @@ POSSIBILITY OF SUCH DAMAGE. import SystemConfiguration import Foundation -enum ReachabilityError: ErrorProtocol { +enum ReachabilityError: Swift.Error { case failedToCreateWithAddress(sockaddr_in) case failedToCreateWithHostname(String) case unableToSetCallback diff --git a/RxSwift/Concurrency/Lock.swift b/RxSwift/Concurrency/Lock.swift index a330c5fe..ca6f3202 100644 --- a/RxSwift/Concurrency/Lock.swift +++ b/RxSwift/Concurrency/Lock.swift @@ -59,10 +59,10 @@ protocol Lock { #else // https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20151214/000321.html - typealias SpinLock = RecursiveLock + typealias SpinLock = NSRecursiveLock #endif -extension RecursiveLock : Lock { +extension NSRecursiveLock : Lock { func performLocked( _ action: @noescape() -> Void) { lock(); defer { unlock() } action() diff --git a/RxSwift/Concurrency/LockOwnerType.swift b/RxSwift/Concurrency/LockOwnerType.swift index 0b50d8a7..fe61d72f 100644 --- a/RxSwift/Concurrency/LockOwnerType.swift +++ b/RxSwift/Concurrency/LockOwnerType.swift @@ -9,7 +9,7 @@ import Foundation protocol LockOwnerType : class, Lock { - var _lock: RecursiveLock { get } + var _lock: NSRecursiveLock { get } } extension LockOwnerType { diff --git a/RxSwift/Errors.swift b/RxSwift/Errors.swift index 237d6a5a..8074e161 100644 --- a/RxSwift/Errors.swift +++ b/RxSwift/Errors.swift @@ -15,7 +15,7 @@ let RxCompositeFailures = "RxCompositeFailures" Generic Rx error codes. */ public enum RxError - : ErrorProtocol + : Swift.Error , CustomDebugStringConvertible { /** Unknown error occured. diff --git a/RxSwift/Event.swift b/RxSwift/Event.swift index 1c8c6d0d..1852a091 100644 --- a/RxSwift/Event.swift +++ b/RxSwift/Event.swift @@ -19,7 +19,7 @@ public enum Event { case next(Element) /// Sequence terminated with an error. - case error(ErrorProtocol) + case error(Swift.Error) /// Sequence completed successfully. case completed @@ -57,7 +57,7 @@ extension Event { } /// - returns: If `Error` event, returns error. - public var error: ErrorProtocol? { + public var error: Swift.Error? { if case .error(let error) = self { return error } diff --git a/RxSwift/Observable+Extensions.swift b/RxSwift/Observable+Extensions.swift index 09dfe602..fec544a1 100644 --- a/RxSwift/Observable+Extensions.swift +++ b/RxSwift/Observable+Extensions.swift @@ -35,7 +35,7 @@ extension ObservableType { - returns: Subscription object used to unsubscribe from the observable sequence. */ // @warn_unused_result(message: "http://git.io/rxs.ud") - public func subscribe(onNext: ((E) -> Void)? = nil, onError: ((ErrorProtocol) -> Void)? = nil, onCompleted: (() -> Void)? = nil, onDisposed: (() -> Void)? = nil) + public func subscribe(onNext: ((E) -> Void)? = nil, onError: ((Swift.Error) -> Void)? = nil, onCompleted: (() -> Void)? = nil, onDisposed: (() -> Void)? = nil) -> Disposable { let disposable: Disposable @@ -89,7 +89,7 @@ extension ObservableType { - returns: Subscription object used to unsubscribe from the observable sequence. */ // @warn_unused_result(message: "http://git.io/rxs.ud") - public func subscribeError(_ onError: (ErrorProtocol) -> Void) + public func subscribeError(_ onError: (Swift.Error) -> Void) -> Disposable { let observer = AnonymousObserver { e in if case .error(let error) = e { diff --git a/RxSwift/Observables/Implementations/Amb.swift b/RxSwift/Observables/Implementations/Amb.swift index bd536b3a..9ea6d8d3 100644 --- a/RxSwift/Observables/Implementations/Amb.swift +++ b/RxSwift/Observables/Implementations/Amb.swift @@ -54,7 +54,7 @@ class AmbSink : Sink { private let _parent: Parent - private let _lock = RecursiveLock() + private let _lock = NSRecursiveLock() // state private var _choice = AmbState.neither diff --git a/RxSwift/Observables/Implementations/Buffer.swift b/RxSwift/Observables/Implementations/Buffer.swift index c858ede1..823a4bcb 100644 --- a/RxSwift/Observables/Implementations/Buffer.swift +++ b/RxSwift/Observables/Implementations/Buffer.swift @@ -39,7 +39,7 @@ class BufferTimeCountSink private let _parent: Parent - let _lock = RecursiveLock() + let _lock = NSRecursiveLock() // state private let _timerD = SerialDisposable() diff --git a/RxSwift/Observables/Implementations/Catch.swift b/RxSwift/Observables/Implementations/Catch.swift index 02b7d5e7..baaeb000 100644 --- a/RxSwift/Observables/Implementations/Catch.swift +++ b/RxSwift/Observables/Implementations/Catch.swift @@ -76,7 +76,7 @@ class CatchSink : Sink, ObserverType { } class Catch : Producer { - typealias Handler = (ErrorProtocol) throws -> Observable + typealias Handler = (Swift.Error) throws -> Observable private let _source: Observable private let _handler: Handler @@ -101,7 +101,7 @@ class CatchSequenceSink - private var _lastError: ErrorProtocol? + private var _lastError: Swift.Error? override init(observer: O) { super.init(observer: observer) diff --git a/RxSwift/Observables/Implementations/CombineLatest+CollectionType.swift b/RxSwift/Observables/Implementations/CombineLatest+CollectionType.swift index 754c52c0..fb5754ce 100644 --- a/RxSwift/Observables/Implementations/CombineLatest+CollectionType.swift +++ b/RxSwift/Observables/Implementations/CombineLatest+CollectionType.swift @@ -15,7 +15,7 @@ class CombineLatestCollectionTypeSink , CombineLatestProtocol { typealias Element = O.E - let _lock = RecursiveLock() + let _lock = NSRecursiveLock() private let _arity: Int private var _numberOfValues = 0 @@ -72,7 +72,7 @@ class CombineLatestSink } } - func fail(_ error: ErrorProtocol) { + func fail(_ error: Swift.Error) { forwardOn(.error(error)) dispose() } @@ -101,12 +101,12 @@ class CombineLatestObserver private let _parent: CombineLatestProtocol - let _lock: RecursiveLock + let _lock: NSRecursiveLock private let _index: Int private let _this: Disposable private let _setLatestValue: ValueSetter - init(lock: RecursiveLock, parent: CombineLatestProtocol, index: Int, setLatestValue: ValueSetter, this: Disposable) { + init(lock: NSRecursiveLock, parent: CombineLatestProtocol, index: Int, setLatestValue: ValueSetter, this: Disposable) { _lock = lock _parent = parent _index = index diff --git a/RxSwift/Observables/Implementations/ConnectableObservable.swift b/RxSwift/Observables/Implementations/ConnectableObservable.swift index e02b0fcb..573d7608 100644 --- a/RxSwift/Observables/Implementations/ConnectableObservable.swift +++ b/RxSwift/Observables/Implementations/ConnectableObservable.swift @@ -27,12 +27,12 @@ public class ConnectableObservable class Connection : Disposable { - private var _lock: RecursiveLock + private var _lock: NSRecursiveLock // state private var _parent: ConnectableObservableAdapter? private var _subscription : Disposable? - init(parent: ConnectableObservableAdapter, lock: RecursiveLock, subscription: Disposable) { + init(parent: ConnectableObservableAdapter, lock: NSRecursiveLock, subscription: Disposable) { _parent = parent _subscription = subscription _lock = lock @@ -66,7 +66,7 @@ class ConnectableObservableAdapter private let _subject: S private let _source: Observable - private let _lock = RecursiveLock() + private let _lock = NSRecursiveLock() // state private var _connection: ConnectionType? diff --git a/RxSwift/Observables/Implementations/Error.swift b/RxSwift/Observables/Implementations/Error.swift index aa763838..e1322c35 100644 --- a/RxSwift/Observables/Implementations/Error.swift +++ b/RxSwift/Observables/Implementations/Error.swift @@ -9,9 +9,9 @@ import Foundation class Error : Producer { - private let _error: ErrorProtocol + private let _error: Swift.Error - init(error: ErrorProtocol) { + init(error: Swift.Error) { _error = error } diff --git a/RxSwift/Observables/Implementations/Merge.swift b/RxSwift/Observables/Implementations/Merge.swift index 617a29af..e9b86ec3 100644 --- a/RxSwift/Observables/Implementations/Merge.swift +++ b/RxSwift/Observables/Implementations/Merge.swift @@ -21,7 +21,7 @@ class MergeLimitedSinkIter: Producer { - private let _lock = RecursiveLock() + private let _lock = NSRecursiveLock() // state private var _count = 0 diff --git a/RxSwift/Observables/Implementations/RetryWhen.swift b/RxSwift/Observables/Implementations/RetryWhen.swift index 01a49c44..e5fb9f38 100644 --- a/RxSwift/Observables/Implementations/RetryWhen.swift +++ b/RxSwift/Observables/Implementations/RetryWhen.swift @@ -84,11 +84,11 @@ class RetryWhenSequenceSink - let _lock = RecursiveLock() + let _lock = NSRecursiveLock() private let _parent: Parent - private var _lastError: ErrorProtocol? + private var _lastError: Swift.Error? private let _errorSubject = PublishSubject() private let _handler: Observable private let _notifier = PublishSubject() diff --git a/RxSwift/Observables/Implementations/Sample.swift b/RxSwift/Observables/Implementations/Sample.swift index 169fa38f..4906552d 100644 --- a/RxSwift/Observables/Implementations/Sample.swift +++ b/RxSwift/Observables/Implementations/Sample.swift @@ -18,7 +18,7 @@ class SamplerSink private let _parent: Parent - let _lock = RecursiveLock() + let _lock = NSRecursiveLock() // state private var _element = nil as Element? diff --git a/RxSwift/Observables/Implementations/ShareReplay1.swift b/RxSwift/Observables/Implementations/ShareReplay1.swift index 5bb73a7c..1df1fe57 100644 --- a/RxSwift/Observables/Implementations/ShareReplay1.swift +++ b/RxSwift/Observables/Implementations/ShareReplay1.swift @@ -18,7 +18,7 @@ final class ShareReplay1 private let _source: Observable - private var _lock = RecursiveLock() + private var _lock = NSRecursiveLock() private var _connection: SingleAssignmentDisposable? private var _element: Element? diff --git a/RxSwift/Observables/Implementations/ShareReplay1WhileConnected.swift b/RxSwift/Observables/Implementations/ShareReplay1WhileConnected.swift index c47d0984..5a08396a 100644 --- a/RxSwift/Observables/Implementations/ShareReplay1WhileConnected.swift +++ b/RxSwift/Observables/Implementations/ShareReplay1WhileConnected.swift @@ -18,7 +18,7 @@ final class ShareReplay1WhileConnected private let _source: Observable - private var _lock = RecursiveLock() + private var _lock = NSRecursiveLock() private var _connection: SingleAssignmentDisposable? private var _element: Element? diff --git a/RxSwift/Observables/Implementations/SingleAsync.swift b/RxSwift/Observables/Implementations/SingleAsync.swift index 619c87be..a4c5d291 100644 --- a/RxSwift/Observables/Implementations/SingleAsync.swift +++ b/RxSwift/Observables/Implementations/SingleAsync.swift @@ -30,7 +30,7 @@ class SingleAsyncSink : S } } catch let error { - forwardOn(.error(error as ErrorProtocol)) + forwardOn(.error(error as Swift.Error)) dispose() return } diff --git a/RxSwift/Observables/Implementations/SkipUntil.swift b/RxSwift/Observables/Implementations/SkipUntil.swift index 588a52ce..ae59b7e9 100644 --- a/RxSwift/Observables/Implementations/SkipUntil.swift +++ b/RxSwift/Observables/Implementations/SkipUntil.swift @@ -17,7 +17,7 @@ class SkipUntilSinkOther - let _lock = RecursiveLock() + let _lock = NSRecursiveLock() private let _parent: Parent private var _forwardElements = false diff --git a/RxSwift/Observables/Implementations/Switch.swift b/RxSwift/Observables/Implementations/Switch.swift index ec19a7f6..5445ee38 100644 --- a/RxSwift/Observables/Implementations/Switch.swift +++ b/RxSwift/Observables/Implementations/Switch.swift @@ -18,7 +18,7 @@ class SwitchSink private let _parent: Parent - let _lock = RecursiveLock() + let _lock = NSRecursiveLock() init(parent: Parent, observer: O) { _parent = parent diff --git a/RxSwift/Observables/Implementations/TakeUntil.swift b/RxSwift/Observables/Implementations/TakeUntil.swift index 5d7cac90..d59fc8f1 100644 --- a/RxSwift/Observables/Implementations/TakeUntil.swift +++ b/RxSwift/Observables/Implementations/TakeUntil.swift @@ -17,7 +17,7 @@ class TakeUntilSinkOther private let _parent: ParentType - let _lock = RecursiveLock() + let _lock = NSRecursiveLock() // state private var _id = 0 as UInt64 diff --git a/RxSwift/Observables/Implementations/Timeout.swift b/RxSwift/Observables/Implementations/Timeout.swift index f6686563..b6f9d21c 100644 --- a/RxSwift/Observables/Implementations/Timeout.swift +++ b/RxSwift/Observables/Implementations/Timeout.swift @@ -14,7 +14,7 @@ class TimeoutSink: Sink() private var _count = 0 @@ -68,7 +68,7 @@ class WindowTimeCountSink : Sink, ZipSinkProtocol { let _arity: Int - let _lock = RecursiveLock() + let _lock = NSRecursiveLock() // state private var _isDone: [Bool] @@ -78,7 +78,7 @@ class ZipSink : Sink, ZipSinkProtocol { } } - func fail(_ error: ErrorProtocol) { + func fail(_ error: Swift.Error) { forwardOn(.error(error)) dispose() } @@ -111,14 +111,14 @@ class ZipObserver private var _parent: ZipSinkProtocol? - let _lock: RecursiveLock + let _lock: NSRecursiveLock // state private let _index: Int private let _this: Disposable private let _setNextValue: ValueSetter - init(lock: RecursiveLock, parent: ZipSinkProtocol, index: Int, setNextValue: ValueSetter, this: Disposable) { + init(lock: NSRecursiveLock, parent: ZipSinkProtocol, index: Int, setNextValue: ValueSetter, this: Disposable) { _lock = lock _parent = parent _index = index diff --git a/RxSwift/Observables/Observable+Creation.swift b/RxSwift/Observables/Observable+Creation.swift index 5b2f9385..1335e570 100644 --- a/RxSwift/Observables/Observable+Creation.swift +++ b/RxSwift/Observables/Observable+Creation.swift @@ -83,7 +83,7 @@ extension Observable { - returns: The observable sequence that terminates with specified error. */ // @warn_unused_result(message:"http://git.io/rxs.uo") - public static func error(_ error: ErrorProtocol) -> Observable { + public static func error(_ error: Swift.Error) -> Observable { return Error(error: error) } diff --git a/RxSwift/Observables/Observable+Multiple.swift b/RxSwift/Observables/Observable+Multiple.swift index 69168842..8bf90f3d 100644 --- a/RxSwift/Observables/Observable+Multiple.swift +++ b/RxSwift/Observables/Observable+Multiple.swift @@ -187,7 +187,7 @@ extension ObservableType { - returns: An observable sequence containing the source sequence's elements, followed by the elements produced by the handler's resulting observable sequence in case an error occurred. */ // @warn_unused_result(message:"http://git.io/rxs.uo") - public func catchError(_ handler: (ErrorProtocol) throws -> Observable) + public func catchError(_ handler: (Swift.Error) throws -> Observable) -> Observable { return Catch(source: asObservable(), handler: handler) } diff --git a/RxSwift/Observables/Observable+Single.swift b/RxSwift/Observables/Observable+Single.swift index 4ed98d6a..faee948b 100644 --- a/RxSwift/Observables/Observable+Single.swift +++ b/RxSwift/Observables/Observable+Single.swift @@ -100,7 +100,7 @@ extension ObservableType { - returns: The source sequence with the side-effecting behavior applied. */ // @warn_unused_result(message:"http://git.io/rxs.uo") - public func doOn(onNext: ((E) throws -> Void)? = nil, onError: ((ErrorProtocol) throws -> Void)? = nil, onCompleted: (() throws -> Void)? = nil) + public func doOn(onNext: ((E) throws -> Void)? = nil, onError: ((Swift.Error) throws -> Void)? = nil, onCompleted: (() throws -> Void)? = nil) -> Observable { return Do(source: self.asObservable()) { e in switch e { @@ -133,7 +133,7 @@ extension ObservableType { - returns: The source sequence with the side-effecting behavior applied. */ // @warn_unused_result(message:"http://git.io/rxs.uo") - public func `do`(onError: ((ErrorProtocol) throws -> Void)) + public func `do`(onError: ((Swift.Error) throws -> Void)) -> Observable { return self.doOn(onError: onError) } @@ -214,7 +214,7 @@ extension ObservableType { - returns: An observable sequence producing the elements of the given sequence repeatedly until it terminates successfully or is notified to error or complete. */ // @warn_unused_result(message:"http://git.io/rxs.uo") - public func retryWhen(_ notificationHandler: (Observable) -> TriggerObservable) + public func retryWhen(_ notificationHandler: (Observable) -> TriggerObservable) -> Observable { return RetryWhenSequence(sources: InfiniteSequence(repeatedValue: self.asObservable()), notificationHandler: notificationHandler) } @@ -229,7 +229,7 @@ extension ObservableType { - returns: An observable sequence producing the elements of the given sequence repeatedly until it terminates successfully or is notified to error or complete. */ // @warn_unused_result(message:"http://git.io/rxs.uo") - public func retryWhen(_ notificationHandler: (Observable) -> TriggerObservable) + public func retryWhen(_ notificationHandler: (Observable) -> TriggerObservable) -> Observable { return RetryWhenSequence(sources: InfiniteSequence(repeatedValue: self.asObservable()), notificationHandler: notificationHandler) } diff --git a/RxSwift/ObserverType.swift b/RxSwift/ObserverType.swift index dc7f2d39..45a8a3ee 100644 --- a/RxSwift/ObserverType.swift +++ b/RxSwift/ObserverType.swift @@ -47,10 +47,10 @@ public extension ObserverType { } /** - Convenience method equivalent to `on(.Error(error: ErrorProtocol))` - - parameter error: ErrorProtocol to send to observer(s) + Convenience method equivalent to `on(.Error(error: Swift.Error))` + - parameter error: Swift.Error to send to observer(s) */ - final func onError(_ error: ErrorProtocol) { + final func onError(_ error: Swift.Error) { on(.error(error)) } } diff --git a/RxSwift/Platform/Platform.Darwin.swift b/RxSwift/Platform/Platform.Darwin.swift index 769cb096..9c0b3f9c 100644 --- a/RxSwift/Platform/Platform.Darwin.swift +++ b/RxSwift/Platform/Platform.Darwin.swift @@ -22,7 +22,8 @@ let AtomicDecrement = OSAtomicDecrement32 extension Thread { - static func setThreadLocalStorageValue(_ value: T?, forKey key: protocol) { + static func setThreadLocalStorageValue(_ value: T?, forKey key: AnyObject & NSCopying + ) { let currentThread = Thread.current let threadDictionary = currentThread.threadDictionary @@ -34,7 +35,7 @@ } } - static func getThreadLocalStorageValueForKey(_ key: protocol) -> T? { + static func getThreadLocalStorageValueForKey(_ key: AnyObject & NSCopying) -> T? { let currentThread = Thread.current let threadDictionary = currentThread.threadDictionary diff --git a/RxSwift/Platform/Platform.Linux.swift b/RxSwift/Platform/Platform.Linux.swift index da58b682..ff7c0434 100644 --- a/RxSwift/Platform/Platform.Linux.swift +++ b/RxSwift/Platform/Platform.Linux.swift @@ -215,7 +215,7 @@ return Expectation() } - public func waitForExpectationsWithTimeout(time: NSTimeInterval, action: ErrorProtocol? -> Void) { + public func waitForExpectationsWithTimeout(time: NSTimeInterval, action: Swift.Error? -> Void) { } } diff --git a/RxSwift/Schedulers/ConcurrentDispatchQueueScheduler.swift b/RxSwift/Schedulers/ConcurrentDispatchQueueScheduler.swift index 4c85204e..08c7bfa4 100644 --- a/RxSwift/Schedulers/ConcurrentDispatchQueueScheduler.swift +++ b/RxSwift/Schedulers/ConcurrentDispatchQueueScheduler.swift @@ -39,10 +39,11 @@ public class ConcurrentDispatchQueueScheduler: SchedulerType { */ @available(iOS 8, OSX 10.10, *) public convenience init(globalConcurrentQueueQOS: DispatchQueueSchedulerQOS, leeway: DispatchTimeInterval = DispatchTimeInterval.nanoseconds(0)) { - let priority = globalConcurrentQueueQOS.QOSClass + let priority = globalConcurrentQueueQOS.qos self.init(queue: DispatchQueue( label: "rxswift.queue.\(globalConcurrentQueueQOS)", - attributes: [priority, DispatchQueueAttributes.concurrent], + qos: priority, + attributes: [DispatchQueue.Attributes.concurrent], target: nil), leeway: leeway ) diff --git a/RxSwift/Schedulers/DispatchQueueSchedulerQOS.swift b/RxSwift/Schedulers/DispatchQueueSchedulerQOS.swift index ca8ac94e..a8164962 100644 --- a/RxSwift/Schedulers/DispatchQueueSchedulerQOS.swift +++ b/RxSwift/Schedulers/DispatchQueueSchedulerQOS.swift @@ -42,13 +42,13 @@ public enum DispatchQueueSchedulerQOS { @available(iOS 8, OSX 10.10, *) extension DispatchQueueSchedulerQOS { - var QOSClass: DispatchQueueAttributes { + var qos: DispatchQoS { switch self { - case .userInteractive: return .qosUserInteractive - case .userInitiated: return .qosUserInitiated - case .default: return .qosDefault - case .utility: return .qosUtility - case .background: return .qosBackground + case .userInteractive: return .userInteractive + case .userInitiated: return .userInitiated + case .default: return .default + case .utility: return .utility + case .background: return .background } } } diff --git a/RxSwift/Schedulers/Internal/DispatchQueueConfiguration.swift b/RxSwift/Schedulers/Internal/DispatchQueueConfiguration.swift index 120a96ee..9b5c772a 100644 --- a/RxSwift/Schedulers/Internal/DispatchQueueConfiguration.swift +++ b/RxSwift/Schedulers/Internal/DispatchQueueConfiguration.swift @@ -41,7 +41,7 @@ extension DispatchQueueConfiguration { let compositeDisposable = CompositeDisposable() - let timer = DispatchSource.timer(queue: queue) + let timer = DispatchSource.makeTimerSource(queue: queue) timer.scheduleOneshot(deadline: deadline) // TODO: @@ -75,7 +75,7 @@ extension DispatchQueueConfiguration { var timerState = state - let timer = DispatchSource.timer(queue: queue) + let timer = DispatchSource.makeTimerSource(queue: queue) timer.scheduleRepeating(deadline: initial, interval: dispatchInterval(period), leeway: leeway) // TODO: diff --git a/RxSwift/Schedulers/RecursiveScheduler.swift b/RxSwift/Schedulers/RecursiveScheduler.swift index 473b43c1..c820b7d1 100644 --- a/RxSwift/Schedulers/RecursiveScheduler.swift +++ b/RxSwift/Schedulers/RecursiveScheduler.swift @@ -14,7 +14,7 @@ Type erased recursive scheduler. class AnyRecursiveScheduler { typealias Action = (state: State, scheduler: AnyRecursiveScheduler) -> Void - private let _lock = RecursiveLock() + private let _lock = NSRecursiveLock() // state private let _group = CompositeDisposable() diff --git a/RxSwift/Schedulers/SerialDispatchQueueScheduler.swift b/RxSwift/Schedulers/SerialDispatchQueueScheduler.swift index e6d69f76..09ae70a6 100644 --- a/RxSwift/Schedulers/SerialDispatchQueueScheduler.swift +++ b/RxSwift/Schedulers/SerialDispatchQueueScheduler.swift @@ -51,7 +51,7 @@ public class SerialDispatchQueueScheduler : SchedulerType { - parameter serialQueueConfiguration: Additional configuration of internal serial dispatch queue. */ public convenience init(internalSerialQueueName: String, serialQueueConfiguration: ((DispatchQueue) -> Void)? = nil, leeway: DispatchTimeInterval = DispatchTimeInterval.nanoseconds(0)) { - let queue = DispatchQueue(label: internalSerialQueueName, attributes: DispatchQueueAttributes.serial) + let queue = DispatchQueue(label: internalSerialQueueName, attributes: []) serialQueueConfiguration?(queue) self.init(serialQueue: queue, leeway: leeway) } @@ -65,7 +65,7 @@ public class SerialDispatchQueueScheduler : SchedulerType { public convenience init(queue: DispatchQueue, internalSerialQueueName: String, leeway: DispatchTimeInterval = DispatchTimeInterval.nanoseconds(0)) { // Swift 3.0 IUO let serialQueue = DispatchQueue(label: internalSerialQueueName, - attributes: DispatchQueueAttributes.serial, + attributes: [], target: queue) self.init(serialQueue: serialQueue, leeway: leeway) } @@ -78,8 +78,8 @@ public class SerialDispatchQueueScheduler : SchedulerType { */ @available(iOS 8, OSX 10.10, *) public convenience init(globalConcurrentQueueQOS: DispatchQueueSchedulerQOS, internalSerialQueueName: String = "rx.global_dispatch_queue.serial", leeway: DispatchTimeInterval = DispatchTimeInterval.nanoseconds(0)) { - let priority = globalConcurrentQueueQOS.QOSClass - self.init(queue: DispatchQueue.global(attributes: DispatchQueue.GlobalAttributes(rawValue: UInt64(priority.rawValue))), internalSerialQueueName: internalSerialQueueName, leeway: leeway) + let priority = globalConcurrentQueueQOS.qos + self.init(queue: DispatchQueue.global(qos: priority.qosClass), internalSerialQueueName: internalSerialQueueName, leeway: leeway) } /** diff --git a/RxSwift/Subjects/BehaviorSubject.swift b/RxSwift/Subjects/BehaviorSubject.swift index 64c0a302..b9b7e0b3 100644 --- a/RxSwift/Subjects/BehaviorSubject.swift +++ b/RxSwift/Subjects/BehaviorSubject.swift @@ -30,7 +30,7 @@ public final class BehaviorSubject return _observers.count > 0 } - let _lock = RecursiveLock() + let _lock = NSRecursiveLock() // state private var _disposed = false diff --git a/RxSwift/Subjects/PublishSubject.swift b/RxSwift/Subjects/PublishSubject.swift index f45a6984..8404c4a6 100644 --- a/RxSwift/Subjects/PublishSubject.swift +++ b/RxSwift/Subjects/PublishSubject.swift @@ -31,7 +31,7 @@ final public class PublishSubject return _observers.count > 0 } - private var _lock = RecursiveLock() + private var _lock = NSRecursiveLock() // state private var _disposed = false diff --git a/RxSwift/Subjects/ReplaySubject.swift b/RxSwift/Subjects/ReplaySubject.swift index c0082fd4..88401783 100644 --- a/RxSwift/Subjects/ReplaySubject.swift +++ b/RxSwift/Subjects/ReplaySubject.swift @@ -28,7 +28,7 @@ public class ReplaySubject return _observers.count > 0 } - private var _lock = RecursiveLock() + private var _lock = NSRecursiveLock() // state private var _disposed = false diff --git a/RxTests/XCTest+Rx.swift b/RxTests/XCTest+Rx.swift index 4588d3d9..7f4ba48c 100644 --- a/RxTests/XCTest+Rx.swift +++ b/RxTests/XCTest+Rx.swift @@ -41,7 +41,7 @@ require specifying `self.*`, they are made global. - parameter time: Recorded virtual time the `.Completed` event occurs. */ - public func error(_ time: TestTime, _ error: ErrorProtocol, _ type: T.Type = T.self) -> Recorded> { + public func error(_ time: TestTime, _ error: Swift.Error, _ type: T.Type = T.self) -> Recorded> { return Recorded(time: time, event: .error(error)) } //} diff --git a/Tests/RxCocoaTests/KVOObservableTests.swift b/Tests/RxCocoaTests/KVOObservableTests.swift index 55d5cb91..c2466cc9 100644 --- a/Tests/RxCocoaTests/KVOObservableTests.swift +++ b/Tests/RxCocoaTests/KVOObservableTests.swift @@ -991,7 +991,7 @@ extension KVOObservableTests { func testObserveWeak_PropertyDoesntExist() { var root: HasStrongProperty! = HasStrongProperty() - var lastError: ErrorProtocol? = nil + var lastError: Swift.Error? = nil _ = root.rx_observeWeakly(NSNumber.self, "notExist") .subscribeError { error in @@ -1017,7 +1017,7 @@ extension KVOObservableTests { func testObserveWeak_HierarchyPropertyDoesntExist() { var root: HasStrongProperty! = HasStrongProperty() - var lastError: ErrorProtocol? = nil + var lastError: Swift.Error? = nil _ = root.rx_observeWeakly(NSNumber.self, "property.notExist") .subscribeError { error in diff --git a/Tests/RxSwiftTests/TestImplementations/Mocks/PrimitiveHotObservable.swift b/Tests/RxSwiftTests/TestImplementations/Mocks/PrimitiveHotObservable.swift index ef9229cb..af5f47db 100644 --- a/Tests/RxSwiftTests/TestImplementations/Mocks/PrimitiveHotObservable.swift +++ b/Tests/RxSwiftTests/TestImplementations/Mocks/PrimitiveHotObservable.swift @@ -22,7 +22,7 @@ class PrimitiveHotObservable : ObservableType { var subscriptions: [Subscription] var observers: Bag> - let lock = RecursiveLock() + let lock = NSRecursiveLock() init() { self.subscriptions = [] diff --git a/Tests/RxSwiftTests/Tests/Observable+SingleTest.swift b/Tests/RxSwiftTests/Tests/Observable+SingleTest.swift index a682e3c5..a4f7d9bd 100644 --- a/Tests/RxSwiftTests/Tests/Observable+SingleTest.swift +++ b/Tests/RxSwiftTests/Tests/Observable+SingleTest.swift @@ -644,7 +644,7 @@ extension ObservableSingleTest { error(250, testError) ]) - var recordedError: ErrorProtocol! + var recordedError: Swift.Error! var numberOfTimesInvoked = 0 let res = scheduler.start { xs.do(onError: { error in @@ -995,7 +995,7 @@ extension ObservableSingleTest { } } -struct CustomErrorType : ErrorProtocol { +struct CustomErrorType : Swift.Error { } @@ -1305,7 +1305,7 @@ extension ObservableSingleTest { let maxAttempts = 4 let res = scheduler.start(800) { - xs.retryWhen { (errors: Observable) in + xs.retryWhen { (errors: Observable) in return errors.flatMapWithIndex { (e, a) -> Observable in if a >= maxAttempts - 1 { return Observable.error(e) diff --git a/Tests/RxSwiftTests/Tests/Observable+SubscriptionTest.swift b/Tests/RxSwiftTests/Tests/Observable+SubscriptionTest.swift index 9b842bc4..51794ade 100644 --- a/Tests/RxSwiftTests/Tests/Observable+SubscriptionTest.swift +++ b/Tests/RxSwiftTests/Tests/Observable+SubscriptionTest.swift @@ -20,7 +20,7 @@ class ObservableSubscriptionTests : RxTest { var onDisposedCalled = 0 var lastElement: Int? = nil - var lastError: ErrorProtocol? = nil + var lastError: Swift.Error? = nil let subscription = publishSubject.subscribe(onNext: { n in lastElement = n @@ -70,7 +70,7 @@ class ObservableSubscriptionTests : RxTest { var onDisposedCalled = 0 var lastElement: Int? = nil - var lastError: ErrorProtocol? = nil + var lastError: Swift.Error? = nil let subscription = publishSubject.subscribe(onNext: { n in lastElement = n @@ -121,7 +121,7 @@ class ObservableSubscriptionTests : RxTest { var onDisposedCalled = 0 var lastElement: Int? = nil - var lastError: ErrorProtocol? = nil + var lastError: Swift.Error? = nil let subscription = publishSubject.subscribe(onNext: { n in lastElement = n @@ -172,7 +172,7 @@ class ObservableSubscriptionTests : RxTest { var onDisposedCalled = 0 var lastElement: Int? = nil - var lastError: ErrorProtocol? = nil + var lastError: Swift.Error? = nil let subscription = publishSubject.subscribe(onNext: { n in lastElement = n diff --git a/Tests/RxSwiftTests/Tests/ObserverTests.swift b/Tests/RxSwiftTests/Tests/ObserverTests.swift index a7d32cde..57214ea5 100644 --- a/Tests/RxSwiftTests/Tests/ObserverTests.swift +++ b/Tests/RxSwiftTests/Tests/ObserverTests.swift @@ -42,7 +42,7 @@ extension ObserverTests { } var elements = [Int]() - var errorNotification: ErrorProtocol! + var errorNotification: Swift.Error! _ = a.subscribe( onNext: { n in elements.append(n) }, diff --git a/Tests/Tests/Recorded+Timeless.swift b/Tests/Tests/Recorded+Timeless.swift index 04983d82..6f2b3773 100644 --- a/Tests/Tests/Recorded+Timeless.swift +++ b/Tests/Tests/Recorded+Timeless.swift @@ -18,6 +18,6 @@ func completed() -> Recorded> { return Recorded(time: 0, event: .completed) } -func error(_ error: ErrorProtocol) -> Recorded> { +func error(_ error: Swift.Error) -> Recorded> { return Recorded(time: 0, event: .error(error)) } diff --git a/Tests/Tests/XCTest+AllTests.swift b/Tests/Tests/XCTest+AllTests.swift index 1495e7ae..15c8f5d2 100644 --- a/Tests/Tests/XCTest+AllTests.swift +++ b/Tests/Tests/XCTest+AllTests.swift @@ -11,7 +11,7 @@ import RxSwift import RxTests import XCTest -func XCTAssertErrorEqual(_ lhs: ErrorProtocol, _ rhs: ErrorProtocol) { +func XCTAssertErrorEqual(_ lhs: Swift.Error, _ rhs: Swift.Error) { let event1: Event = .error(lhs) let event2: Event = .error(rhs)