You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This can be seen by running cargo test -F std,no_std.
This is a problem since if a crate depends on crates A and B that in turn depend on special, and A uses special/std and B uses special/no_std the crate will fail to compile since the compiler assumes that features are additive and will only compile a single version of special with both features enabled.
The text was updated successfully, but these errors were encountered:
It will favor one over the other if both are enabled. I am just not sure which one should get priority. Spontaneously, I would see that portability (no_std) should take precedence over speed (std).
Yes, it's really tricky!
I think the reason I made std take precendence in lambert_w is because if a crate has two different dependencies that in turn depend on lambert_w, and one of them has enabled the std feature (which is disabled by default), that dependency is most likely not no_std compatible anyway, and so letting no_std take precendence in that situation wont make the crate no_std compatible in turn.
This can be seen by running
cargo test -F std,no_std
.This is a problem since if a crate depends on crates
A
andB
that in turn depend onspecial
, andA
usesspecial/std
andB
usesspecial/no_std
the crate will fail to compile since the compiler assumes that features are additive and will only compile a single version ofspecial
with both features enabled.The text was updated successfully, but these errors were encountered: