diff --git a/RxSwift/Subjects/Variable.swift b/RxSwift/Subjects/Variable.swift index e9c04472..b80676d8 100644 --- a/RxSwift/Subjects/Variable.swift +++ b/RxSwift/Subjects/Variable.swift @@ -62,6 +62,7 @@ public class Variable : ObservableType { - parameter observer: Observer to subscribe to variable values. - returns: Disposable object that can be used to unsubscribe the observer from the variable. */ + @warn_unused_result(message="http://git.io/rxs.ud") public func subscribe(observer: O) -> Disposable { return _subject.subscribe(observer) } diff --git a/RxTests/RxCocoaTests/Control+RxTests+UIKit.swift b/RxTests/RxCocoaTests/Control+RxTests+UIKit.swift index b502e7e9..e8c45f29 100644 --- a/RxTests/RxCocoaTests/Control+RxTests+UIKit.swift +++ b/RxTests/RxCocoaTests/Control+RxTests+UIKit.swift @@ -15,7 +15,8 @@ extension ControlTests { func testSubscribeEnabledToTrue() { let subject = UIControl() let enabledSequence = Variable(false) - enabledSequence.subscribe(subject.rx_enabled) + let disposable = enabledSequence.subscribe(subject.rx_enabled) + defer { disposable.dispose() } enabledSequence.value = true XCTAssert(subject.enabled == true, "Expected enabled set to true") @@ -24,7 +25,8 @@ extension ControlTests { func testSubscribeEnabledToFalse() { let subject = UIControl() let enabledSequence = Variable(true) - enabledSequence.subscribe(subject.rx_enabled) + let disposable = enabledSequence.subscribe(subject.rx_enabled) + defer { disposable.dispose() } enabledSequence.value = false XCTAssert(subject.enabled == false, "Expected enabled set to false") @@ -163,8 +165,8 @@ extension ControlTests { func testLabel_NextElementsSetsValue() { let subject = UILabel() let attributedTextSequence = Variable(nil) - - attributedTextSequence.subscribe(subject.rx_attributedText) + let disposable = attributedTextSequence.subscribe(subject.rx_attributedText) + defer { disposable.dispose() } attributedTextSequence.value = NSAttributedString(string: "Hello!") XCTAssert(subject.attributedText == attributedTextSequence.value, "Expected attributedText to have been set") @@ -323,7 +325,8 @@ extension ControlTests { let subject = UIActivityIndicatorView() let boolSequence = Variable(false) - boolSequence.subscribe(subject.rx_animating) + let disposable = boolSequence.subscribe(subject.rx_animating) + defer { disposable.dispose() } boolSequence.value = true XCTAssertTrue(subject.isAnimating(), "Expected animation to be started")