Skip to content

Commit

Permalink
Add rust-lang#7859 FP test case for question_mark
Browse files Browse the repository at this point in the history
  • Loading branch information
dswij committed Oct 22, 2021
1 parent df65291 commit 3efda7b
Showing 1 changed file with 21 additions and 2 deletions.
23 changes: 21 additions & 2 deletions tests/ui/question_mark.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
#![allow(unreachable_code)]
#![allow(clippy::unnecessary_wraps)]

use std::env;
use std::path::PathBuf;

fn some_func(a: Option<u32>) -> Option<u32> {
if a.is_none() {
return None;
Expand Down Expand Up @@ -134,7 +137,11 @@ fn func() -> Option<i32> {
Some(0)
}

fn result_func(x: Result<i32, &str>) -> Result<i32, &str> {
fn func_returning_result() -> Result<i32, String> {
Ok(1)
}

fn result_func(x: Result<i32, String>) -> Result<i32, String> {
let _ = if let Ok(x) = x { x } else { return x };

if x.is_err() {
Expand All @@ -145,9 +152,21 @@ fn result_func(x: Result<i32, &str>) -> Result<i32, &str> {
let y = if let Ok(x) = x {
x
} else {
return Err("some error");
return Err("some error".to_string());
};

// issue #7859
// no warning
let _ = if let Ok(x) = func_returning_result() {
x
} else {
return Err("some error".to_string());
};

if func_returning_result().is_err() {
return func_returning_result();
}

Ok(y)
}

Expand Down

0 comments on commit 3efda7b

Please # to comment.