Условная компиляция в 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 мышления.