rust/tests/ui/bind_instead_of_map.rs
Yuri Astrakhan eb3970285b fallout: fix tests to allow uninlined_format_args
In order to switch `clippy::uninlined_format_args` from pedantic to
style, all existing tests must not raise a warning. I did not want to
change the actual tests, so this is a relatively minor change that:

* add `#![allow(clippy::uninlined_format_args)]` where needed
* normalizes all allow/deny/warn attributes
   * all allow attributes are grouped together
   * sorted alphabetically
   * the `clippy::*` attributes are listed separate from the other ones.
   * deny and warn attributes are listed before the allowed ones

changelog: none
2022-10-02 15:13:22 -04:00

27 lines
749 B
Rust

// run-rustfix
#![deny(clippy::bind_instead_of_map)]
#![allow(clippy::uninlined_format_args)]
// need a main anyway, use it get rid of unused warnings too
pub fn main() {
let x = Some(5);
// the easiest cases
let _ = x.and_then(Some);
let _ = x.and_then(|o| Some(o + 1));
// and an easy counter-example
let _ = x.and_then(|o| if o < 32 { Some(o) } else { None });
// Different type
let x: Result<u32, &str> = Ok(1);
let _ = x.and_then(Ok);
}
pub fn foo() -> Option<String> {
let x = Some(String::from("hello"));
Some("hello".to_owned()).and_then(|s| Some(format!("{}{}", s, x?)))
}
pub fn example2(x: bool) -> Option<&'static str> {
Some("a").and_then(|s| Some(if x { s } else { return None }))
}