已设置Rust 2018 Edition仍遇async fn编译报错,如何解决?
解决Rust
async fn 编译错误(E0670) 问题根源在于:直接使用rustc编译单个文件时,它不会自动读取Cargo.toml中的edition配置,默认采用Rust 2015版本——而async fn是Rust 2018及后续版本才支持的语法,因此触发报错。
提供两种解决方式:
方式一:用Cargo编译(推荐)
Cargo会自动读取Cargo.toml的所有配置,包括edition设置,执行以下命令即可正常编译:
cargo build
方式二:给rustc手动指定edition参数
如果坚持直接用rustc编译,需要手动添加--edition参数指定版本:
rustc --edition 2018 --crate-type=lib src/apis/my_file.rs
也可以指定更高版本如2021,只要符合你的项目需求即可。
内容的提问来源于stack exchange,提问作者tyler
相关产品推荐
相关产品推荐

