Split the Component trait into more specific traits #161
+995
−882
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 adds specific traits for converting and for floating point components. This makes the implementation of each trait simpler and hopefully more efficient (@PeterHatch was right all along), and reduces their requirements a bit. A side effect is that the
cast
hack function can be reduced to convert fromf64
values only (still not completely gone, but its use is more limited now), and become panic free. The downside is the extraFromF64
trait, but it's at least not hard to implement and new float types should be rare enough.This is a breaking change.