Rust · Intermediário · Inglês · Técnico
feature flag
Recurso opcional de uma crate, declarado em [features] no Cargo.toml, que liga ou desliga código e dependências por meio de #[cfg(feature = "nome")].
Onde usar
Usado para reduzir tempo de compilação e dependências, como a feature derive do serde. Em review, features devem ser aditivas.
Em código
# Cargo.toml
[features]
default = []
extra = []
// no código
#[cfg(feature = "extra")]
fn so_com_extra() {}Exemplos
Enable the feature flag only in the test build.
Ative a feature flag só no build de teste.
Gate the heavy dependency behind a feature.
Coloque a dependência pesada atrás de uma feature.
Cuidado
Features precisam ser aditivas: ligar uma não deve quebrar quem usa outra, porque o Cargo une as features pedidas por toda a árvore de dependências.
Sinônimos
feature, recurso opcional