-
Notifications
You must be signed in to change notification settings - Fork 28
Prevent other crates from implementing *Ext traits #34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Would you suggest to do this for all our traits or just for some of them? |
All of the extension traits for
I agree, but a common array interface doesn't exist right now, and I'd rather focus on getting things working well for The way a lot of our traits are defined right now wouldn't make sense for types other than We can always remove the private marker type later without any breaking changes. |
100% agree. |
It would be nice to make it impossible for other crates to implement our
*Ext
traits, because then we could freely add new methods without breaking changes. (Adding theindexed_fold_skipnan
method toMaybeNanExt
in #33 is an example. Ifndarray-stats
was the only crate that could implementMaybeNanExt
, then we could addindexed_fold_skipnan
without that being a breaking change.)ndarray
accomplishes this for some of its traits (e.g. theDimension
trait) using a private marker type.The text was updated successfully, but these errors were encountered: