Bedingte Kompilierung in Rust 0.10?

Ich habe 0.10 verwendet und vor kurzem einen Build von Nightly eingerichtet, um mit Box und Freunden zu experimentieren.

Jetzt habe ich Code für 0.10 mit~str und Code für Pre0.11 mitString durchto_owned veraltet sein. Ich dachte, ich könnte das tun:

#[cfg(rust_version = "0.10")]
fn my_old_func() -> Option<~str> {
}

#[cfg(not(rust_version = "0.10")]
fn my_old_func() -> Option<String> {
}

Und pass--cfg rust_version:0.11 während der Kompilierung. Aber der Compiler erstickt immer noch an dem jetzt entfernten~ Operator. Gibt es eine Möglichkeit, Code zu verwenden, der sowohl unter 0.10 als auch unter der noch nicht veröffentlichten Version 0.11 funktioniert, indem eine bedingte Kompilierung oder ein anderer Mechanismus verwendet wird?

Ich denke, ich könnte auf die Verwendung von cpp und #ifdef zurückgreifen, aber das scheint, als würde ich mich aus der Rust-Denkweise zurückziehen.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage