Условная компиляция в Rust 0.10?

Я использую 0.10 и недавно настроил сборку по ночам, чтобы поэкспериментировать с Box и друзьями.

Теперь у меня есть код для 0.10, используя~str и код для pre0.11, используяString потому чтоto_owned быть устаревшим Я думал, что смогу сделать это:

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

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

И пройти--cfg rust_version:0.11 во время компиляции. Но компилятор все еще задыхается от теперь удаленного~ оператор. Есть ли способ получить код, который работает как с 0.10, так и с еще не выпущенным 0.11, используя условную компиляцию или какой-то другой механизм?

Я думаю, что могу вернуться к использованию cpp и #ifdef, но это похоже на выход из Rust мышления.

Ответы на вопрос(1)

Ваш ответ на вопрос