Change NonZero* TypeInfo implementation to not be recursive #171
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.
The current
TypeInfo
implementation for theNonZero*
types is recursive, defining the types as containing a field of itself. This PR fixes the implementation to properly define the inner field as theNonZero*
's wrapped type.I also considered if the
NonZero*
types should be encoded as their wrapped type (i.e.<NonZeroU64 as TypeInfo>::Identity == u64
), but I'm not sure what implications that would have.NOTE: I've forked this off of b881bfb since our current lockfile contains scale-info = 2.2.