我一直在使用 0.10,最近设置了 nightly 版本来尝试 Box 和 friend 。
现在我有使用 ~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.10,而是坚持使用 nightlies。
关于rust - Rust 0.10 中的条件编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24297154/