-
-
Notifications
You must be signed in to change notification settings - Fork 94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compilation fails with no default features #356
Comments
Hi @tamasfe First of all, thank you for opening this issue, as it makes clear to me that I didn't thoroughly think about those changes, and missed that they might lead to such consequences. Sorry for the complications 🙏 My intention was to avoid obscure errors like #343, and I got some inspiration from how Sentry handles their transports. I am inclined to think that for now this problem should be documented in the installation doc section, and those changes reverted, as they cause more harm than actually solve the problem. What do you think? Or is there any reliable way to prevent such cases as #343 upfront? |
I believe the best way to go here is really just documentation indeed. The misleading error message is unfortunate, but I still believe that libraries should not enable more features of dependencies than they need and should not re-export features unless they are affected by them. If it was just a TLS on/off switch for |
Thank you for sharing your thoughts on this! I agree with you. |
0.15.1
and0.15.2
introduced feature changes/additions I don't necessarily agree with so I don't know what kind of PR to submit for this.Having both a
resolve-http
andreqwest
features that slightly differ in semantics makes no sense, sinceresolve-http
includes thereqwest
feature, it alone should be enough to enable the HTTP(S) schema resolution feature.Also I believe exposing optional features of dependencies is just a way to pollute the features of this library and also leads to issues like this one. #343 could have been solved simply by suggesting the addition of
reqwest = { version = "*", features = [ "rustls-tls" ] }
, the current solution raises the question why onlynative-tls
andrustls
are exposed whilereqwest
has a handful more of TLS features and combinations.The text was updated successfully, but these errors were encountered: