Skip to content

Commit 5d04b2b

Browse files
committed
// clippy3.rs
// // Here's a couple more easy Clippy fixes, so you can see its utility. // // Execute `rustlings hint clippy3` or use the `hint` watch subcommand for a hint. // I AM NOT DONE #[allow(unused_variables, unused_assignments)] fn main() { let my_option: Option<()> = None; // 移除冗余的 unwrap(),因为 my_option 明确是 None if my_option.is_some() { // 这里的代码永远不会执行,因为 my_option 是 None,所以可以省略 } let my_arr = &[ -1, -2, -3, -4, -5, -6, ]; println!("My array! Here it is: {:?}", my_arr); // 直接创建空 Vec 更高效 let my_empty_vec: Vec<i32> = Vec::new(); println!("This Vec is empty, see? {:?}", my_empty_vec); let mut value_a = 45; let mut value_b = 66; // 使用标准的 swap 方法交换变量 std::mem::swap(&mut value_a, &mut value_b); println!("value a: {}; value b: {}", value_a, value_b); }
1 parent b7f2eda commit 5d04b2b

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

exercises/clippy/clippy3.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,24 @@
99
#[allow(unused_variables, unused_assignments)]
1010
fn main() {
1111
let my_option: Option<()> = None;
12-
// 更简洁的 Option 处理:用 if let 替代 is_some + unwrap
13-
if let Some(_) = my_option {
14-
my_option.unwrap();
12+
// 移除冗余的 unwrap(),因为 my_option 明确是 None
13+
if my_option.is_some() {
14+
// 这里的代码永远不会执行,因为 my_option 是 None,所以可以省略
1515
}
1616

1717
let my_arr = &[
1818
-1, -2, -3,
19-
-4, -5, -6, // 末尾添加逗号(Rust 允许 trailing comma,更规范)
19+
-4, -5, -6,
2020
];
2121
println!("My array! Here it is: {:?}", my_arr);
2222

23-
// 直接创建空 Vec,避免先创建再清空(Clippy 推荐更高效的写法)
23+
// 直接创建空 Vec 更高效
2424
let my_empty_vec: Vec<i32> = Vec::new();
2525
println!("This Vec is empty, see? {:?}", my_empty_vec);
2626

2727
let mut value_a = 45;
2828
let mut value_b = 66;
29-
// 变量交换保持 std::mem::swap,符合 Rust 惯用写法
29+
// 使用标准的 swap 方法交换变量
3030
std::mem::swap(&mut value_a, &mut value_b);
3131
println!("value a: {}; value b: {}", value_a, value_b);
3232
}

0 commit comments

Comments
 (0)