我一直在使用0.10并且最近设置了夜间版本来试验Box和朋友。
现在我使用~str
代码为0.10,使用String
代码为pre0.11,因为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的心态。
答案 0 :(得分:3)
不,你无能为力。
我们的典型建议不是使用0.10,而是坚持使用夜宵。