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.
This PR proposes a breaking change.
Currently, this library causes lots of unavoidable allocations. That makes it unusable when developing games, where performance is critical and allocations should be avoided as much as possible.
To fix this, I've converted all of the colour structs from
class
toreadonly record struct
.An added benefit of this change is removing all of the handwritten equality implementations (we get it for free from
record
), which were broken! For example this would previously crash instead of return false: