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 adds a new derive macro for implementing Widget automatically on a struct.
By default the macro assumes the struct has a
WidgetPod
field namedwidget_pod
and forwards allWidget
trait methods to theWidgetPod
's implementation. In the case a user chooses not to have a child widget, they need only provide implementations for all the requiredWidget
methods. The user can also choose to name a different field as containing theWidgetPod
.As in the example, this behaviour can be mixed and matched, with the named
WidgetPod
having some methods forwarded to it, with other method implementations "overridden" in the provided method implementations on the struct.Open issues:
Data
isT
and the name of the generic implementingWidget
isW
. It does try to handle any additional bounds on theData
type.