Cargo: Optionale Abhängigkeiten können keine Funktionen aktivieren

Erstellt am 21. Aug. 2015  ·  3Kommentare  ·  Quelle: rust-lang/cargo

In Kiste X, mit einer optionalen Abhängigkeit A und einer obligatorischen Abhängigkeit B von X, kann das mit ersterem verbundene Feature A kein Feature mit demselben Namen in B aktivieren. Dies bedeutet, dass ein zusätzliches Feature mit einem anderen Namen eingeführt werden muss, wodurch die Dinge chaotisch.

Hilfreichster Kommentar

Ich fand es auch verwirrend, dass Funktionen und (optionale?) Abhängigkeiten denselben Namespace teilen.

Alle 3 Kommentare

Anwendungsfall:

Ich füge der Rostcodierung SIMD-Optimierungen hinzu. Ich möchte, dass das Feature "simd" heißt und das gleiche Feature in den internen Crate-Encoding-Typen aktiviert wird.

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

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

Dies funktioniert nicht, da Sie keine optionale Abhängigkeit und kein Feature mit demselben Namen haben können.

Ich fand es auch verwirrend, dass Funktionen und (optionale?) Abhängigkeiten denselben Namespace teilen.

Ja, im Moment müssen Sie einen separaten Funktionsnamen wählen, um Funktionen und Abhängigkeiten zu aktivieren, ansonsten wird dies jedoch von #1286 abgedeckt, also werde ich dafür schließen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen