如何在使用rustc编译代码时指定Rust 2018版本?
如何让rustc将代码识别为Rust 2018版本
别担心,切换到Rust 2018其实非常简单——你用的rustc 1.58.1确实完全支持2015、2018、2021这三个版本。下面分两种常见场景给你说明操作方法:
场景1:用Cargo管理你的项目(推荐方式)
绝大多数Rust项目都是用Cargo管理的,这种情况下只需要修改项目根目录的Cargo.toml文件:
- 打开
Cargo.toml,找到[package]区块 - 添加或修改
edition字段为"2018",示例如下:
[package] name = "my_rust_project" version = "0.1.0" edition = "2018" # 关键配置行
保存文件后,下次运行cargo build或cargo run时,Cargo会自动告诉rustc以Rust 2018的规则编译你的代码,不需要手动给rustc传额外参数。
场景2:直接用rustc编译单个.rs文件
如果你只是写单个Rust文件,不需要Cargo,那可以直接给rustc加--edition参数:
rustc --edition 2018 your_code.rs
执行这个命令后,rustc就会按照Rust 2018的语法和特性规则来编译你的文件。
补充说明
你提到rustc手册里没找到相关配置,是因为Rust的Edition机制主要和Cargo集成,单独调用rustc的场景相对小众,不过你可以通过rustc --help看到--edition这个参数的说明。另外,Rust 2018的核心特性(比如简化的模块导入、async/await稳定支持等)在1.58.1版本里都能正常使用,只要设置对Edition就没问题。
内容的提问来源于stack exchange,提问作者Tenders McChiken
相关产品推荐
相关产品推荐

