Hi, for some use cases, it would be appropriate to implement BaseArithmetic for types other than basic Rust number types.
Although all traits from BaseArithmetic are implementable, the HasCompact is not, because it is automatically implemented in parity_scale_codec for T, but it's impossible from an external crate of parity_scale_codec to fulfill the requirements to get the auto implementation of HasCompact for your type.
This basically means that BaseArithmetic is a "sealed" trait where no more types can implement it.
My question is, is HasCompact really a requirement for BaseArithmetic? why do that restriction? If it's not a requirement, can it then be removed from BaseArithmetic?
Hi, for some use cases, it would be appropriate to implement
BaseArithmetic
for types other than basic Rust number types.Although all traits from
BaseArithmetic
are implementable, theHasCompact
is not, because it is automatically implemented inparity_scale_codec
forT
, but it's impossible from an external crate ofparity_scale_codec
to fulfill the requirements to get the auto implementation ofHasCompact
for your type.This basically means that
BaseArithmetic
is a "sealed" trait where no more types can implement it.My question is, is
HasCompact
really a requirement forBaseArithmetic
? why do that restriction? If it's not a requirement, can it then be removed fromBaseArithmetic
?