2019-01-02 22:48:44 +01:00
|
|
|
// aux-build:option_helpers.rs
|
|
|
|
|
2019-01-02 07:23:00 +01:00
|
|
|
//! Checks implementation of `RESULT_MAP_UNWRAP_OR_ELSE`
|
|
|
|
|
|
|
|
#![warn(clippy::result_map_unwrap_or_else)]
|
|
|
|
|
2019-01-02 22:48:44 +01:00
|
|
|
#[macro_use]
|
|
|
|
extern crate option_helpers;
|
2019-01-02 07:23:00 +01:00
|
|
|
|
|
|
|
fn result_methods() {
|
|
|
|
let res: Result<i32, ()> = Ok(1);
|
|
|
|
|
|
|
|
// Check RESULT_MAP_UNWRAP_OR_ELSE
|
|
|
|
// single line case
|
2019-01-02 08:15:32 +01:00
|
|
|
let _ = res.map(|x| x + 1).unwrap_or_else(|e| 0); // should lint even though this call is on a separate line
|
|
|
|
// multi line cases
|
|
|
|
let _ = res.map(|x| x + 1).unwrap_or_else(|e| 0);
|
|
|
|
let _ = res.map(|x| x + 1).unwrap_or_else(|e| 0);
|
2019-01-02 07:23:00 +01:00
|
|
|
// macro case
|
|
|
|
let _ = opt_map!(res, |x| x + 1).unwrap_or_else(|e| 0); // should not lint
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {}
|