Cargo: Dependências opcionais não podem habilitar recursos

Criado em 21 ago. 2015  ·  3Comentários  ·  Fonte: rust-lang/cargo

Na grade X, com uma dependência opcional A e uma dependência obrigatória B de X, o recurso A associado ao primeiro não pode habilitar um recurso com o mesmo nome em B. Isso significa que um recurso adicional com um nome diferente deve ser introduzido, tornando as coisas confuso.

Comentários muito úteis

Também achei confuso que recursos e dependências (opcionais?) compartilhem o mesmo namespace.

Todos 3 comentários

Caso de uso:

Estou adicionando otimizações SIMD à codificação de ferrugem. Eu quero que o recurso seja chamado de "simd" e habilite o mesmo recurso nos tipos de codificação de grade internos.

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

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

Isso não funcionará porque você não pode ter uma dependência opcional e um recurso com o mesmo nome.

Também achei confuso que recursos e dependências (opcionais?) compartilhem o mesmo namespace.

Sim, por enquanto você terá que escolher um nome de recurso separado para ativar recursos e dependências, caso contrário, embora isso seja coberto pelo #1286, vou fechar a favor disso.

Esta página foi útil?
0 / 5 - 0 avaliações