Add required bounds to derived impl #421
Open
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 is an attempt to make the derive macro for
Diagnostic
work better with generics, allowing to write code like for exampleThis should for example make #162 just work, as well as things like
and the other supported attributes.
AFAIK the only gotcha with this implementation right now is that
#[related]
only works with concrete collection types and not with generic collections, but the type inside the collection can be generic. (meaning:Vec<T>
works but not any arbitraryC
whereC: IntoIter<Item: Diagnostic>
), and I think that is a current limitation of the rust compiler / the current Diagnostic trait design.Questions: Do we want to gate this behind a feature flag since it pulls in extra-traits from syn and performs a bunch of extra work?