¿Compilación condicional en Rust 0.10?
He estado usando 0.10 y recientemente configuré una versión nocturna para experimentar con Box y sus amigos.
Ahora tengo código para 0.10 usando~str
y código para pre0.11 usandoString
porqueto_owned
siendo obsoleto Pensé que podría hacer esto:
#[cfg(rust_version = "0.10")]
fn my_old_func() -> Option<~str> {
}
#[cfg(not(rust_version = "0.10")]
fn my_old_func() -> Option<String> {
}
Y pasar--cfg rust_version:0.11
durante la compilación Pero el compilador todavía se ahoga con el ahora eliminado~
operador. ¿Hay alguna manera de tener un código que funcione tanto en 0.10 como en 0.11 aún no publicado utilizando compilación condicional u otro mecanismo?
Supongo que podría volver a usar cpp y #ifdef, pero eso parece salir de la mentalidad de Rust.