about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRyan Wiedemann <Ryan1729@gmail.com>2020-08-10 08:50:20 -0600
committerGitHub <noreply@github.com>2020-08-10 08:50:20 -0600
commit3e3e50bf0fa6282c7265e34589170033c2301edd (patch)
tree076daca224042d38f16580dfd3e894d11d35d495
parentc576bedc4149a6911f863a94aea2bc0ec109d4e3 (diff)
downloadrust-3e3e50bf0fa6282c7265e34589170033c2301edd.tar.gz
rust-3e3e50bf0fa6282c7265e34589170033c2301edd.zip
Add example of false positive to PTR_ARG docs.
Fixes #214
-rw-r--r--clippy_lints/src/ptr.rs17
1 files changed, 15 insertions, 2 deletions
diff --git a/clippy_lints/src/ptr.rs b/clippy_lints/src/ptr.rs
index 7b6bd69ffca..33c1bbd488a 100644
--- a/clippy_lints/src/ptr.rs
+++ b/clippy_lints/src/ptr.rs
@@ -36,14 +36,27 @@ declare_clippy_lint! {
     /// argument may also fail to compile if you change the argument. Applying
     /// this lint on them will fix the problem, but they may be in other crates.
     ///
+    /// One notable example of a function that may cause issues, and which cannot
+    /// easily be changed due to beinng in the standard library is `Vec::contains`.
+    /// when called on a `Vec<Vec<T>>`. If a `&Vec` is passed to that method then
+    /// it will compile, but if a `&[T]` is passed then it will not compile.
+    ///
+    /// ```ignore
+    /// fn cannot_take_a_slice(v: &Vec<u8>) -> bool {
+    ///     let vec_of_vecs: Vec<Vec<u8>> = some_other_fn();
+    ///
+    ///     vec_of_vecs.contains(v)
+    /// }
+    /// ```
+    ///
     /// Also there may be `fn(&Vec)`-typed references pointing to your function.
     /// If you have them, you will get a compiler error after applying this lint's
     /// suggestions. You then have the choice to undo your changes or change the
     /// type of the reference.
     ///
     /// Note that if the function is part of your public interface, there may be
-    /// other crates referencing it you may not be aware. Carefully deprecate the
-    /// function before applying the lint suggestions in this case.
+    /// other crates referencing it, of which you may not be aware. Carefully 
+    /// deprecate the function before applying the lint suggestions in this case.
     ///
     /// **Example:**
     /// ```ignore