Add feature garde to support blanked impl for garde crate #339
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.
Motivation
I wanted to use musli with garde for field validation, however due to coherence its not possible to add blanket impl for Valid and Unvalidated and I would like to avoid requiring newtyping them.
Content
All this PR does is
here Decode for Valid automatically also validates.
Other consideration
It would make sense to extend the macro with an option so that Decode is not impl for
TValidbut only forUnvalidated<TValid>andValid<TValid>to make it impossible to accidentally directly decode a type skipping validation, but this would require changing the macro to be able to handle feature specific special cases.It would also be possible to not impl
DecodeforValidand always force manual calls tovalidate(). This is always the case for types that do not have a default Validation context. it may even be possible to link validation context to musli's contextTodos