Skip to content

Commit b7f2eda

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; // 更简洁的 Option 处理:用 if let 替代 is_some + unwrap if let Some(_) = my_option { my_option.unwrap(); } let my_arr = &[ -1, -2, -3, -4, -5, -6, // 末尾添加逗号(Rust 允许 trailing comma,更规范) ]; println!("My array! Here it is: {:?}", my_arr); // 直接创建空 Vec,避免先创建再清空(Clippy 推荐更高效的写法) 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; // 变量交换保持 std::mem::swap,符合 Rust 惯用写法 std::mem::swap(&mut value_a, &mut value_b); println!("value a: {}; value b: {}", value_a, value_b); }
1 parent 4bb5203 commit b7f2eda

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

exercises/clippy/clippy3.rs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,24 @@
99
#[allow(unused_variables, unused_assignments)]
1010
fn main() {
1111
let my_option: Option<()> = None;
12-
// 修复:避免在知道是 None 时调用 unwrap(会 panic)
13-
if my_option.is_some() {
12+
// 更简洁的 Option 处理:用 if let 替代 is_some + unwrap
13+
if let Some(_) = my_option {
1414
my_option.unwrap();
1515
}
1616

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

23-
// 修复:resize 方法返回 (),应先创建向量再修改
24-
let mut my_empty_vec = vec![1, 2, 3, 4, 5];
25-
my_empty_vec.resize(0, 5);
23+
// 直接创建空 Vec,避免先创建再清空(Clippy 推荐更高效的写法)
24+
let my_empty_vec: Vec<i32> = Vec::new();
2625
println!("This Vec is empty, see? {:?}", my_empty_vec);
2726

2827
let mut value_a = 45;
2928
let mut value_b = 66;
30-
// 修复:使用 std::mem::swap 正确交换两个变量的值
29+
// 变量交换保持 std::mem::swap,符合 Rust 惯用写法
3130
std::mem::swap(&mut value_a, &mut value_b);
3231
println!("value a: {}; value b: {}", value_a, value_b);
3332
}

0 commit comments

Comments
 (0)