2 votes

Comment ignorer une dépendance si la fonctionnalité correspondante est désactivée ?

Supposons que j'aie une caisse qui dépend de la fonction glob la caisse uniquement si #[cfg(feature = "glob")] est activé. En outre, cette fonction est désactivée par défaut. Comment puis-je ignorer le téléchargement et la compilation de l'application glob par défaut ?

# Cargo.toml
...
[features]
default = []

[dependencies]
glob = "0.2"
...

Et le code source :

# lib.rs
.. several uses

#[cfg(feature = "glob")]
extern crate glob;

... a lot of code that doesn't use glob crate.

#[cfg(feature = "glob")]
impl Foo for Bar { 
    // only this code uses glob crate 
}

5voto

mcarton Points 5694

El glob La dépendance doit être marquée comme étant facultative :

[dependencies]
glob = { version = "0.2", optional = true }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X