我想通过要求以下内容来确保代码风格一致:
fn calc() -> u32 {
return 1 + 1;
}
并禁止这样做:
fn calc() -> u32 {
1 + 1
}
Cargo.toml中有任何设置吗?
最佳答案
我不相信这可以通过Cargo本身完成,但是Clippy has a lint可以做到这一点。
要启用棉绒,请将#![deny(clippy::implicit_return)]
行放置在根文件的顶部(通常是main.rs
或lib.rs
)。如果使用隐式返回,则现在运行cargo clippy
应该显示错误。您可能还希望禁用具有相反警告的棉绒:#![allow(clippy::needless_return)]
。
示例代码:
#![deny(clippy::implicit_return)]
#![allow(clippy::needless_return)]
fn foo() -> u32 {
0
}
fn main() {
println!("{}", foo());
}
和运行
cargo clippy
后的错误:error: missing return statement
--> src/main.rs:5:5
|
5 | 0
| ^ help: add `return` as shown: `return 0`
|
note: lint level defined here
--> src/main.rs:1:9
|
1 | #![deny(clippy::implicit_return)]
| ^^^^^^^^^^^^^^^^^^^^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_return