-
Notifications
You must be signed in to change notification settings - Fork 9
Description
Several crates now support "override" for backend/s - people have different needs from top level binary
curve25519_dalek_ [ backend | bits ]
- Overrides- Simplifying backend selection dalek-cryptography/curve25519-dalek#414
Ideally the selection is automatic but the overrides are provided e.g. wasm (both web and non-web) no_std runtimes etc.
I've also asked in several places to further the support:
- pure-rust via
cfg("aegis_backend" = "..")
vscfg(feature = "..")
jedisct1/rust-aegis#5 - Backend auto-selection & cfg gating crate-crypto/Ed448-Goldilocks#36
This would be good given the compiler / cargo now has added features to validate the cfg use.
Typically people used features but as repeated in other issues - copied here;
- Allows top-level binary composing the primitive as the overarching choice and transients not having any say
- Transient dependencies don't need to "relay" it down - dalek long time didn't delay the choices down resulting only serial use
- The compiler has now taken official stance on it to support the pattern
- Composes as mutually exclusive feature vs features are not mutually exclusive
- Other issues discussed in the long winded ref'd issue
Especially with rustls ideally it would be target arch but we can't assume crypto primitives take the environemnt into account.
Especially in non-monolithic primitives that do only one thing - it's primitive scope - it's essential to not duplicate the environment handling to every single primitive composed into one package under it.