Add Widget derive macro #130
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 PR adds a new derive macro for implementing Widget automatically on a struct.
By default the macro assumes the struct has a
WidgetPodfield namedwidget_podand forwards allWidgettrait 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 requiredWidgetmethods. 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
WidgetPodhaving some methods forwarded to it, with other method implementations "overridden" in the provided method implementations on the struct.Open issues:
DataisTand the name of the generic implementingWidgetisW. It does try to handle any additional bounds on theDatatype.