Compilação condicional no Rust 0.10?
Eu tenho usado 0,10 e recentemente configurei uma compilação do nightly para experimentar Box e amigos.
Agora eu tenho código para 0.10 usando~str
e código para pre0.11 usandoString
por causa deto_owned
sendo obsoleto. Eu pensei que poderia fazer isso:
#[cfg(rust_version = "0.10")]
fn my_old_func() -> Option<~str> {
}
#[cfg(not(rust_version = "0.10")]
fn my_old_func() -> Option<String> {
}
E passar--cfg rust_version:0.11
durante a compilação. Mas o compilador ainda engasga com o agora removido~
operador. Existe uma maneira de ter código que funcione tanto em 0.10 quanto em 0.11 ainda não lançado usando compilação condicional ou algum outro mecanismo?
Eu acho que eu poderia voltar a usar cpp e #ifdef, mas isso parece sair da mentalidade do Rust.