Skip to content

Commit

Permalink
Auto merge of #5460 - phansch:fix_incorrect_tests, r=matthiaskrgr
Browse files Browse the repository at this point in the history
result_map_unit_fn: Fix incorrect UI tests

`x` and the `HasResult` struct were missing in this file.

changelog: none
  • Loading branch information
bors committed Apr 14, 2020
2 parents d236b30 + 9a52d52 commit 3c77188
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 15 deletions.
6 changes: 6 additions & 0 deletions tests/ui/result_map_unit_fn_unfixable.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
#![feature(never_type)]
#![allow(unused)]

struct HasResult {
field: Result<usize, usize>,
}

fn do_nothing<T>(_: T) {}

fn diverge<T>(_: T) -> ! {
Expand All @@ -14,6 +18,8 @@ fn plus_one(value: usize) -> usize {

#[rustfmt::skip]
fn result_map_unit_fn() {
let x = HasResult { field: Ok(10) };

x.field.map(|value| { do_nothing(value); do_nothing(value) });

x.field.map(|value| if value > 0 { do_nothing(value); do_nothing(value) });
Expand Down
61 changes: 46 additions & 15 deletions tests/ui/result_map_unit_fn_unfixable.stderr
Original file line number Diff line number Diff line change
@@ -1,27 +1,58 @@
error[E0425]: cannot find value `x` in this scope
--> $DIR/result_map_unit_fn_unfixable.rs:17:5
error: called `map(f)` on an `Result` value where `f` is a closure that returns the unit type
--> $DIR/result_map_unit_fn_unfixable.rs:23:5
|
LL | x.field.map(|value| { do_nothing(value); do_nothing(value) });
| ^ not found in this scope
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
| |
| help: try this: `if let Ok(value) = x.field { ... }`
|
= note: `-D clippy::result-map-unit-fn` implied by `-D warnings`

error[E0425]: cannot find value `x` in this scope
--> $DIR/result_map_unit_fn_unfixable.rs:19:5
error: called `map(f)` on an `Result` value where `f` is a closure that returns the unit type
--> $DIR/result_map_unit_fn_unfixable.rs:25:5
|
LL | x.field.map(|value| if value > 0 { do_nothing(value); do_nothing(value) });
| ^ not found in this scope
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
| |
| help: try this: `if let Ok(value) = x.field { ... }`

error[E0425]: cannot find value `x` in this scope
--> $DIR/result_map_unit_fn_unfixable.rs:23:5
error: called `map(f)` on an `Result` value where `f` is a closure that returns the unit type
--> $DIR/result_map_unit_fn_unfixable.rs:29:5
|
LL | x.field.map(|value| {
| ^ not found in this scope
LL | x.field.map(|value| {
| _____^
| |_____|
| ||
LL | || do_nothing(value);
LL | || do_nothing(value)
LL | || });
| ||______^- help: try this: `if let Ok(value) = x.field { ... }`
| |_______|
|

error[E0425]: cannot find value `x` in this scope
--> $DIR/result_map_unit_fn_unfixable.rs:27:5
error: called `map(f)` on an `Result` value where `f` is a closure that returns the unit type
--> $DIR/result_map_unit_fn_unfixable.rs:33:5
|
LL | x.field.map(|value| { do_nothing(value); do_nothing(value); });
| ^ not found in this scope
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
| |
| help: try this: `if let Ok(value) = x.field { ... }`

error: called `map(f)` on an `Result` value where `f` is a function that returns the unit type
--> $DIR/result_map_unit_fn_unfixable.rs:37:5
|
LL | "12".parse::<i32>().map(diverge);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
| |
| help: try this: `if let Ok(a) = "12".parse::<i32>() { diverge(a) }`

error: called `map(f)` on an `Result` value where `f` is a function that returns the unit type
--> $DIR/result_map_unit_fn_unfixable.rs:43:5
|
LL | y.map(do_nothing);
| ^^^^^^^^^^^^^^^^^-
| |
| help: try this: `if let Ok(_y) = y { do_nothing(_y) }`

error: aborting due to 4 previous errors
error: aborting due to 6 previous errors

For more information about this error, try `rustc --explain E0425`.

0 comments on commit 3c77188

Please sign in to comment.