summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/tests/ui/option_if_let_else.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/clippy/tests/ui/option_if_let_else.rs')
-rw-r--r--src/tools/clippy/tests/ui/option_if_let_else.rs34
1 files changed, 25 insertions, 9 deletions
diff --git a/src/tools/clippy/tests/ui/option_if_let_else.rs b/src/tools/clippy/tests/ui/option_if_let_else.rs
index 18b7af443..aaa87a0db 100644
--- a/src/tools/clippy/tests/ui/option_if_let_else.rs
+++ b/src/tools/clippy/tests/ui/option_if_let_else.rs
@@ -115,11 +115,13 @@ fn pattern_to_vec(pattern: &str) -> Vec<String> {
}
// #10335
-fn test_result_impure_else(variable: Result<u32, &str>) {
+fn test_result_impure_else(variable: Result<u32, &str>) -> bool {
if let Ok(binding) = variable {
println!("Ok {binding}");
+ true
} else {
println!("Err");
+ false
}
}
@@ -254,21 +256,25 @@ mod issue10729 {
pub fn reproduce(initial: &Option<String>) {
// 👇 needs `.as_ref()` because initial is an `&Option<_>`
- match initial {
+ let _ = match initial {
Some(value) => do_something(value),
- None => {},
- }
+ None => 42,
+ };
}
pub fn reproduce2(initial: &mut Option<String>) {
- match initial {
+ let _ = match initial {
Some(value) => do_something2(value),
- None => {},
- }
+ None => 42,
+ };
}
- fn do_something(_value: &str) {}
- fn do_something2(_value: &mut str) {}
+ fn do_something(_value: &str) -> u32 {
+ todo!()
+ }
+ fn do_something2(_value: &mut str) -> u32 {
+ todo!()
+ }
}
fn issue11429() {
@@ -288,3 +294,13 @@ fn issue11429() {
let mut _hm = if let Some(hm) = &opt { hm.clone() } else { new_map!() };
}
+
+fn issue11893() {
+ use std::io::Write;
+ let mut output = std::io::stdout().lock();
+ if let Some(name) = Some("stuff") {
+ writeln!(output, "{name:?}").unwrap();
+ } else {
+ panic!("Haven't thought about this condition.");
+ }
+}