As the title says, the "ring" feature of rustls is incompatile with the "aws_lc_rs" (or at least requires a install_default() call when both are enabled).
To reproduce: create a project that depends on both reqwest and webrtc and try to create a peer connection.
I could work around this because reqwest thankfully allows to disable the setting this feature flag on rustls by depending on it like this:
reqwest = { version = "*", default-features = false, features = ["cookies", "form", "rustls-no-provider"] }
The rustls docs.rs says this:
ring: makes the rustls crate depend on the ring crate for cryptography.
Use rustls::crypto::ring::default_provider().install_default() to
use it as the default CryptoProvider, or provide it explicitly
when making a ClientConfig or ServerConfig.
So this crate should either install ring as the default so it doesn't matter which feature is enabled, configure it in the client/server configs or allow this feature to be controlled by a feature on it's own like reqwest does.
As the title says, the "ring" feature of rustls is incompatile with the "aws_lc_rs" (or at least requires a
install_default()call when both are enabled).To reproduce: create a project that depends on both reqwest and webrtc and try to create a peer connection.
I could work around this because reqwest thankfully allows to disable the setting this feature flag on rustls by depending on it like this:
reqwest = { version = "*", default-features = false, features = ["cookies", "form", "rustls-no-provider"] }The rustls docs.rs says this:
So this crate should either install ring as the default so it doesn't matter which feature is enabled, configure it in the client/server configs or allow this feature to be controlled by a feature on it's own like reqwest does.