You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With Swift 6 beta coming in June, and its full release in the fall, RxSwift should start offering better compliance with the new Swift 6 compiler changes.
One area of note here are Drivers. Which are supposed to guarantee main thread operation.
I propose that the method signature for drive be updated to take a main actor closure.
Expected outcome:
When using a driver, I should be able to read/write main actor isolated state.
What actually happens:
Call to main actor-isolated instance method 'myMainActorProperty' in a synchronous nonisolated context
Self contained code example that reproduces the issue:
classMyClass{@MainActorprivatevarmutableState:StringprivatevardisposeBag= DisposeBag
func updateMutableStateWithDriver(to newValue:String){Observable.just(newValue).asDriver(onErrorJustReturn:"Failed").drive(with:self){ this, newValue in
this.mutableState = newValue // Call to main actor-isolated instance method 'mutableState' in a synchronous nonisolated context
}.disposed(by: disposeBag)}}
RxSwift/RxCocoa/RxBlocking/RxTest version/commit
6.6.0
Platform/Environment
iOS
macOS
tvOS
watchOS
playgrounds
How easy is to reproduce? (chances of successful reproduce after running the self contained code)
easy, 100% repro
sometimes, 10%-100%
hard, 2% - 10%
extremely hard, %0 - 2%
Xcode version:
15.3
⚠️ Fields below are optional for general issues or in case those questions aren't related to your issue, but filling them out will increase the chances of getting your issue resolved. ⚠️
Installation method:
CocoaPods
Carthage
Git submodules
Swift Package Manager
I have multiple versions of Xcode installed:
(so we can know if this is a potential cause of your issue)
yes (which ones)
no
Level of RxSwift knowledge:
(this is so we can understand your level of knowledge
and formulate the response in an appropriate manner)
just starting
I have a small code base
I have a significant code base
The text was updated successfully, but these errors were encountered:
Hey there, thanks for the report!
I'm planning and hopeful to have some time to do a sweep with Complete Concurrency Checking to prepare for Swift 6.0. Happy to take any PRs around this if anyone's interested in tackling!
Short description of the issue:
With Swift 6 beta coming in June, and its full release in the fall, RxSwift should start offering better compliance with the new Swift 6 compiler changes.
One area of note here are Drivers. Which are supposed to guarantee main thread operation.
I propose that the method signature for
drive
be updated to take a main actor closure.Expected outcome:
When using a driver, I should be able to read/write main actor isolated state.
What actually happens:
Call to main actor-isolated instance method 'myMainActorProperty' in a synchronous nonisolated context
Self contained code example that reproduces the issue:
RxSwift/RxCocoa/RxBlocking/RxTest version/commit
6.6.0
Platform/Environment
How easy is to reproduce? (chances of successful reproduce after running the self contained code)
Xcode version:
Installation method:
I have multiple versions of Xcode installed:
(so we can know if this is a potential cause of your issue)
Level of RxSwift knowledge:
(this is so we can understand your level of knowledge
and formulate the response in an appropriate manner)
The text was updated successfully, but these errors were encountered: