Cargo: Les dépendances facultatives ne peuvent pas activer les fonctionnalités

Créé le 21 août 2015  ·  3Commentaires  ·  Source: rust-lang/cargo

Dans la caisse X, avec une dépendance facultative A et une dépendance obligatoire B de X, la fonctionnalité A associée à la première ne peut pas activer une fonctionnalité du même nom dans B. Cela signifie qu'une fonctionnalité supplémentaire portant un nom différent doit être introduite, rendant les choses désordonné.

Commentaire le plus utile

J'ai également trouvé déroutant que les fonctionnalités et les dépendances (facultatives ?) partagent le même espace de noms.

Tous les 3 commentaires

Cas d'utilisation:

J'ajoute des optimisations SIMD à l'encodage de rouille. Je souhaite que la fonctionnalité soit nommée "simd" et active la même fonctionnalité dans les types d'encodage de la caisse interne.

[features]
simd = ["encoding-types/enable-simd"]

[dependencies.simd]
git = "https://github.com/nox/simd"
rev = "438780ca236b1ed2caf032edebda9c9362eaabc6"
optional = true

Cela ne fonctionnera pas car vous ne pouvez pas avoir de dépendance facultative et une fonctionnalité porter le même nom.

J'ai également trouvé déroutant que les fonctionnalités et les dépendances (facultatives ?) partagent le même espace de noms.

Oui, pour l'instant, vous devrez choisir un nom de fonctionnalité distinct pour activer les fonctionnalités et les dépendances, sinon, bien que cela soit couvert par #1286, je vais donc conclure en faveur de cela.

Cette page vous a été utile?
0 / 5 - 0 notes