Skip to content

Conversation

@NeedleInAJayStack
Copy link
Owner

@NeedleInAJayStack NeedleInAJayStack commented Jun 9, 2025

Breaking change

This updates the package to compile in Swift 6 compatibility mode.

To do so, this requires that we formalize a Registry to avoid shared mutable state. See this commit for more details.

@NeedleInAJayStack NeedleInAJayStack changed the title **BREAKING**: Swift 6 Compatibility Swift 6 Compatibility Jun 9, 2025
@NeedleInAJayStack NeedleInAJayStack self-assigned this Jun 20, 2025
This does so by introducing a RegistryBuilder that custom units must be attached to, and is used for all Unit lookups. This was (rightfully) required by Swift 6 memory safety, since the existing implementation had issues with shared mutable state. I attempted to minimize breaking changes, but some were required.
@NeedleInAJayStack NeedleInAJayStack changed the title Swift 6 Compatibility Breaking: Swift 6 Compatibility Jul 18, 2025
@NeedleInAJayStack NeedleInAJayStack merged commit 55df9cc into main Sep 2, 2025
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants