Feature tokio-rustls-tls requires native-tls?
Describe the bug
I'm looking at feature flag definition in Cargo.toml and the dependencies in Cargo.lock, and I noticed that the tokio-rustls-tls feature depends on native-tls, rather than using rustls. This would explain build issues I am facing due to the compilation trying to look for an openssl which isn't there.
I am noticing that the with-tokio feature in the flag list requires tokio-native-tls, native-tls, etc., whereas previously with-tokio only required ["reqwest", "tokio", "tokio/fs", "tokio-stream"]. This seems to preclude any possibility of using Tokio with rustls, despite what the feature flag list would suggest.
See 0.32.3's Cargo.toml compared to 0.34.0's.
Why does using Tokio require native TLS? Is there a way I can use only rustls instead alongside Tokio?
Environment
- Rust version:
1.79.0 - lib version
0.34.0
Additional context
This issue occurred when trying to upgrade to 0.34.0. See https://github.com/scpwiki/wikijump/pull/1962.
This is already fixed in v0.35.0-alpha.1
What is the release timeline looking like?
Is it possible to make a new full release now with this fix, and then add any other pending changes to the next full release? In case the release is being held back by some other work going on.
Is it possible to make a new full release now with this fix, and then add any other pending changes to the next full release? In case the release is being held back by some other work going on.
I second this, this is a very crucial update.
Following up again here, what is required for rust-s3 to be ready for a non-alpha release containing the dependency fix here?
@emmiegit, published version 0.35.0
Thank you for your help!
Okay -- I thought I was mistaken but it seems I was not. I left a comment here: https://github.com/durch/rust-s3/issues/395#issuecomment-2323518194, basically it was working fine with cargo check (which doesn't do linking) but I was realizing that the default features were including native-tls and causing linking to fail due to lack of openssl, where I am supposed to be using rustls instead.