diff --git a/CHANGELOG.md b/CHANGELOG.md index c2443ccd..89a51615 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -135,6 +135,7 @@ let ( * Deprecates `ConcurrentMainScheduler.sharedInstance` in favor of `ConcurrentMainScheduler.instance` * Deprecates factory methods from `Drive` in favor of `Driver` factory methods. * Deprecates `sampleLatest` in favor of `withLatestFrom`. +* Deprecates `ScopedDisposable` and `scopedDispose()` in favor of `DisposeBag`. #### Fixed diff --git a/RxSwift/Disposables/ScopedDisposable.swift b/RxSwift/Disposables/ScopedDisposable.swift index 028f8d5d..22afc90f 100644 --- a/RxSwift/Disposables/ScopedDisposable.swift +++ b/RxSwift/Disposables/ScopedDisposable.swift @@ -21,6 +21,7 @@ extension Disposable { - returns: `ScopedDisposable` that will dispose `self` on `deinit`. */ + @available(*, deprecated=2.0.0, message="Please use `DisposeBag` and `addDisposableTo`") public func scopedDispose() -> ScopedDisposable { return ScopedDisposable(disposable: self) } @@ -32,6 +33,7 @@ extension Disposable { This returns ARC (RAII) like resource management to `RxSwift`. */ +@available(*, deprecated=2.0.0, message="Please use `DisposeBag` and `addDisposableTo`") public class ScopedDisposable : DisposeBase { private var _disposable: Disposable? diff --git a/Tests/RxCocoaTests/NSObject+RxTests.swift b/Tests/RxCocoaTests/NSObject+RxTests.swift index 12edb99b..a5fdf85e 100644 --- a/Tests/RxCocoaTests/NSObject+RxTests.swift +++ b/Tests/RxCocoaTests/NSObject+RxTests.swift @@ -63,7 +63,7 @@ extension NSObjectTests { var a = NSObject() var fired = false - + _ = a .rx_deallocated .map { _ in @@ -72,8 +72,8 @@ extension NSObjectTests { .subscribeNext { _ in fired = true } - .scopedDispose() - + .dispose() + XCTAssertFalse(fired) a = NSObject() @@ -131,7 +131,7 @@ extension NSObjectTests { var a = NSObject() var fired = false - + _ = a .rx_deallocating .map { _ in @@ -140,7 +140,7 @@ extension NSObjectTests { .subscribeNext { _ in fired = true } - .scopedDispose() + .dispose() XCTAssertFalse(fired) diff --git a/Tests/RxSwiftTests/Tests/Observable+ConcurrencyTest.swift b/Tests/RxSwiftTests/Tests/Observable+ConcurrencyTest.swift index bc733b42..f00ea78d 100644 --- a/Tests/RxSwiftTests/Tests/Observable+ConcurrencyTest.swift +++ b/Tests/RxSwiftTests/Tests/Observable+ConcurrencyTest.swift @@ -34,7 +34,7 @@ extension ObservableConcurrencyTest { func runDispatchQueueSchedulerTests(tests: (scheduler: SerialDispatchQueueScheduler) -> Disposable) { let scheduler = SerialDispatchQueueScheduler(internalSerialQueueName: "testQueue1") - let _ = runDispatchQueueSchedulerTests(scheduler, tests: tests).scopedDispose + runDispatchQueueSchedulerTests(scheduler, tests: tests).dispose() } func runDispatchQueueSchedulerTests(scheduler: SerialDispatchQueueScheduler, tests: (scheduler: SerialDispatchQueueScheduler) -> Disposable) -> Disposable { diff --git a/Tests/RxSwiftTests/Tests/VariableTest.swift b/Tests/RxSwiftTests/Tests/VariableTest.swift index e066a467..775aa14d 100644 --- a/Tests/RxSwiftTests/Tests/VariableTest.swift +++ b/Tests/RxSwiftTests/Tests/VariableTest.swift @@ -46,11 +46,11 @@ class VariableTest : RxTest { var latest = 0 var completed = false - a.asObservable().subscribe(onNext: { n in - latest = n - }, onCompleted: { - completed = true - }) + _ = a.asObservable().subscribe(onNext: { n in + latest = n + }, onCompleted: { + completed = true + }) XCTAssertEqual(latest, 1) XCTAssertFalse(completed)