rust - Rust 0.10 中的条件编译?

标签 rust rust-obsolete

我一直在使用 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/

相关文章:

closures - 从函数返回一个闭包

vector - Rust 中的二维向量

vector - 向量上的 Rust 模式匹配

rust - 如何在编译时创建字母表数组?

floating-point - 如何解码和编码 Rust 中的 float ?

mysql - diesel_cli设置返回有关DATABASE_URL的错误

enums - "error: trait bounds are not allowed in structure definitions"尝试使用多态性时

rust - Rust 中的 "0is"表示法是什么?

rust - 使用 serde_json 将 JSON 对象转换为 HashMap

rust - 使用Arrow/Datafusion/Polars(如python panda的groupby)按列值分区?