-
Notifications
You must be signed in to change notification settings - Fork 358
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Misc] Fix more concurrency warnings + CI for beta platforms #422
Conversation
Fixes #418 |
Hmm well I thought that would link the issue and this pull request but apparently not. Seems like you must say it in the pull request description. See here. |
I finally didn’t have time to investigate further this week. I’m planning on trying things next week. @GeorgeElsham can you try this branch and tell me if you have issues in your project like over constraints to main actor ? That way I can adapt the PR before asking for review. We only use small parts of the library so I’m not sure if the choices I made are always sensible. |
I don't use all that much of the package. The main thing is no warnings in complete concurrency mode and no errors in Swift 6 mode. SwiftUI views are |
Thing is most of the api is indeed made to be used inside a SwiftUI view but I kept wondering if some should instead be Sendable to enable code outside to use parts of it. I’m not sure it makes total sense though. |
This builds in my project perfectly fine and removed the warnings. I'll also try to refactor from the main branch too and see if I have less reliance on |
I've made a new pull request which makes far less use of |
If this branch fixes all the Swift 6 concurrency warnings, let's get it merged.
We can worry about this in a separate PR. @Alex293 mark as ready for review if you're happy with your changes. |
I'll rename the commits, do you prefer a signe one ? or maybe one for the Package.swift edits ? |
Doesn't matter, I'm going to squash and merge anyway. |
Sorry I didn't see the thumbs up til now, I'm going to get CI in order and then merge. |
This is pretty much WIP, not ready for full review, just to get feedback if someone wants to try as I make progress or contribute.
This builds on Xcode 16 / Swift 6 and 5 mode and Xcode 15 swift 5.
Tests are passing except for one that can't find an import. I'll look into it.
Now I went for the easy path annotating quite a lot of thing with @mainactor which might simply be sendable instead. I first wanted to have something compilable and test to run. I'll check deeper now if I can avoid some MainActor requirements as one might want to use some of the conditions for code outside of swift despite this not being the main intent of the lib.
Open to feedbacks, it's my first open contribution outside of some small bug fixes.
Edit: Fixes #418