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.
I ran into a situation where the compiler allowed me to implement a custom
RawRepresentable
type but crashed at runtime:When I ran this and tried saving a value to it, I got this crash:
What I ended up doing is fine-tuning the conditional bounds for
Self.RawValue
conformance ofRawRepresentable
and adjusting the implementation:This makes sense to leverage
RawRepresentable
this way since according to the docs,RawRepresentable
was designed to interoperate with legacy systems, whichUserDefaults
could be considered:Doing this opened some interesting doors to
UserDefaults
while allowing existingRawRepresentable
conformers to remain unchanged: