refactor: enforce only 1 trait impl #11041
Draft
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.
As discussed here on slack it is undesirable to allow for multiple impls of a trait for a given type. For this reason I will update our traits in this PR to follow the approach Jake described here.
Note
Decided to wait for this issue to be resolved as it makes it hard to finish this PR (it makes it hard to figure out where in the code I need to do the updates as the
Serialize
trait is implemented in like 80 places and I don't have the info what code exactly causes the panic)