Rust 0.10中的条件编译?

时间:2014-06-19 00:50:17

标签: rust rust-obsolete

我一直在使用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的心态。

1 个答案:

答案 0 :(得分:3)

不,你无能为力。

我们的典型建议不是使用0.10,而是坚持使用夜宵。