about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-01-28 05:11:09 +0000
committerbors <bors@rust-lang.org>2022-01-28 05:11:09 +0000
commitfb94992c39e64c280ccb21299509aee767ebd6d9 (patch)
treee7ffa5391f4de8a0926a608f2ba2503eb1060594
parenta98e7ab8b94485be6bd03e0c6b8682ecab5b52e6 (diff)
parent515ed80b9d63e20c196a7739118c2f316a097106 (diff)
downloadrust-fb94992c39e64c280ccb21299509aee767ebd6d9.tar.gz
rust-fb94992c39e64c280ccb21299509aee767ebd6d9.zip
Auto merge of #8354 - dswij:8345, r=giraffate
Update docs for `map_flatten` on `Option` case

closes #8345

changelog: [`map_flatten`] Add docs info for `Option` case
-rw-r--r--clippy_lints/src/methods/mod.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/clippy_lints/src/methods/mod.rs b/clippy_lints/src/methods/mod.rs
index 4b43448bf7b..18d4867b7eb 100644
--- a/clippy_lints/src/methods/mod.rs
+++ b/clippy_lints/src/methods/mod.rs
@@ -566,17 +566,20 @@ declare_clippy_lint! {
     ///
     /// ### Why is this bad?
     /// Readability, this can be written more concisely as
-    /// `_.flat_map(_)`
+    /// `_.flat_map(_)` for `Iterator` or `_.and_then(_)` for `Option`
     ///
     /// ### Example
     /// ```rust
     /// let vec = vec![vec![1]];
+    /// let opt = Some(5);
     ///
     /// // Bad
     /// vec.iter().map(|x| x.iter()).flatten();
+    /// opt.map(|x| Some(x * 2)).flatten();
     ///
     /// // Good
     /// vec.iter().flat_map(|x| x.iter());
+    /// opt.and_then(|x| Some(x * 2));
     /// ```
     #[clippy::version = "1.31.0"]
     pub MAP_FLATTEN,