Don't include unavailable setter in Swift 5.9. #64
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Addresses #63.
There seems to be a bug in Swift <=5.10 where the unavailable setter on
Shared.wrappedValue
makes even the getter unavailable when using dynamic member lookup with subscripts:You can reproduce this with any subscript that has a setter. The solution is to just omit the unavailable setter in Swift <=5.10.
This bug is still present in Swift 6, but to a lesser degree. If you access through the subscript without assign, Swift thinks we are invoking the setter somehow:
But since there is no real world use case for doing something like this I think we can live with it.