Switch over to `cfg()` from no-nadditive features
Currently native / rustls is non-additive choice via features e.g. in arti-hyper
One could use cfg()
for this and this would ensure
-
top-level binary is left to make the non-additive choice between
-
transient dependencies will not get to mess things in between
-
it applies "globally" instead of having to rely via individual crates
-
less chances for miscompliation given non-additive choice
We did this in curve25519_dalek e.g. backend overrides:
I have also a demo repo here:
I would imagine the below cfg:
-
cfg(arti_tls_provider)
=openssl
|rustls