diff --git a/RxSwift/RxSwift/Observables/Observable+Creation.swift b/RxSwift/RxSwift/Observables/Observable+Creation.swift index c27ac0f8..c4b89166 100644 --- a/RxSwift/RxSwift/Observables/Observable+Creation.swift +++ b/RxSwift/RxSwift/Observables/Observable+Creation.swift @@ -63,7 +63,7 @@ public func from(sequence: } sendCompleted(observer) - return DefaultDisposable() + return NopDisposable.instance } } diff --git a/RxTests/RxSwiftTests/Tests/Observable+ConcurrencyTest.swift b/RxTests/RxSwiftTests/Tests/Observable+ConcurrencyTest.swift index d1680052..94915e53 100644 --- a/RxTests/RxSwiftTests/Tests/Observable+ConcurrencyTest.swift +++ b/RxTests/RxSwiftTests/Tests/Observable+ConcurrencyTest.swift @@ -491,7 +491,7 @@ extension ObservableConcurrencyTest { } func testObserveOn_EnsureTestsAreExecutedWithRealConcurrentScheduler() { - var variable: Int32 = 0 + var variable: Int = 0 var events: [String] = [] @@ -503,6 +503,8 @@ extension ObservableConcurrencyTest { } while variable != 2 { + // to kill compiler optimizations + self.performLocked { } if variable == 0 { variable = 1 } @@ -516,11 +518,14 @@ extension ObservableConcurrencyTest { } let disposable2 = scheduler.schedule(()) { _ in + //println("variable \(variable)") self.performLocked { events.append("Started") } while variable != 2 { + // to kill compiler optimizations + self.performLocked { } if variable == 1 { variable = 2 } diff --git a/RxTests/RxTests.xcodeproj/project.pbxproj b/RxTests/RxTests.xcodeproj/project.pbxproj index 71447215..9fc2f75e 100644 --- a/RxTests/RxTests.xcodeproj/project.pbxproj +++ b/RxTests/RxTests.xcodeproj/project.pbxproj @@ -84,6 +84,7 @@ C8E381291B207D03008CDC33 /* PrimitiveHotObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8E381271B207D03008CDC33 /* PrimitiveHotObservable.swift */; }; C8E3812B1B2083C2008CDC33 /* PrimitiveMockObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8E3812A1B2083C2008CDC33 /* PrimitiveMockObserver.swift */; }; C8E3812C1B2083C2008CDC33 /* PrimitiveMockObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8E3812A1B2083C2008CDC33 /* PrimitiveMockObserver.swift */; }; + C8E3813A1B21B77E008CDC33 /* Observable+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8E381221B2063CC008CDC33 /* Observable+Extensions.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -444,6 +445,7 @@ C88BB8AB1B07E64B0064D411 /* TestExtensions.swift in Sources */, C88BB8AC1B07E64B0064D411 /* AssumptionsTest.swift in Sources */, C88BB8AD1B07E64B0064D411 /* ConnectableObservable.swift in Sources */, + C8E3813A1B21B77E008CDC33 /* Observable+Extensions.swift in Sources */, C88BB8AE1B07E64B0064D411 /* VariableTest.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0;