-
Notifications
You must be signed in to change notification settings - Fork 326
Description
I wanted to update jsonwebtoken to version 0.10.x today, but unfortunately I found out that I wasn't able to. We're using jsonwebtoken in our workspace in a crate that functions as an iOS (and Android) app. Because aws-lc-rs seems to have compatibility issues on iOS, I chose the rust_crypto feature. Unfortunately, another crate of ours is using gcloud-auth (for play integrity functionality) which depends on jsonwebtoken with the aws_lc_rs feature enabled. As these are mutually exclusive, I'm flooded with compiler errors. In theory, this doesn't have to be a problem for us, because the gcloud-auth crate is not used in the mobile app, but in practice our integration tests depend on both crates, and enabling/disabling either feature through a series of cascading features seems like a lot.
The Cargo book specifically describes this situation and suggests a few solutions. The second one would probably solve this situation for us:
When there is a conflict, choose one feature over another. The cfg-if package can help with writing more complex cfg expressions.
-- https://doc.rust-lang.org/cargo/reference/features.html#mutually-exclusive-features
Would adding this behaviour be an option for you?