Use the num-traits crate directly instead of num #948
Merged
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.
I noticed that this crate uses only two features of
num-traits
:num::FromPrimitive
- used to convert raw integers to Rust enums. Is using an external library for this really necessary?num::ToPrimitive
- used to convert colorsisize
values to colors, replaced it withstd::convert::TryFrom
.num::traits::cast
- used in literally only one place, so I replaced it withstd::convert::TryInto
.The
FromPrimitive
trait is located in thenum-traits
crate, so by depending on it instead of all ofnum
I managed to reduce the total number of dependencies from 25 to 18. Also I took the opportunity and upgraded it from v0.1 to v0.2.If using
num-traits
forint <-> enum
conversions is an overkill in your opinion, I can also open a PR to remove it from dependencies altogether.