Closed cuviper closed 4 years ago
Thanks!
I'm curious, why did you label this a breaking change?
Because of the change of version of num-traits
. For example if for some arcane reasons someone has a foo
crate with a dependency like num-traits = { version = "=0.2.10" }
, the traits originating from num-traits
used by alga
won't be compatible with those used in foo
.
Well, cargo won't resolve multiple semver-compatible crates in the dependency tree, so there can be only one num-traits 0.2.x
at all. If a user has pinned num-traits
like that, they just won't have a newer alga
available to them. I think it would be unusual to treat that as a breaking change on your part.
Well, cargo won't resolve multiple semver-compatible crates in the dependency tree
Ah, good to know! Let's not mark this as breaking change then. Thank you for the explanation.
Unfortunately,
libm 0.2
removed theF32Ext
andF64Ext
extension traits, which makes it harder to choose the different methods. However, this was already dealt with in rust-num/num-traits#144 forFloat
, so we can piggy-back on that here, no longer usinglibm
directly.