diff options
| author | Ryan Wiedemann <Ryan1729@gmail.com> | 2020-08-10 08:50:20 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-08-10 08:50:20 -0600 |
| commit | 3e3e50bf0fa6282c7265e34589170033c2301edd (patch) | |
| tree | 076daca224042d38f16580dfd3e894d11d35d495 | |
| parent | c576bedc4149a6911f863a94aea2bc0ec109d4e3 (diff) | |
| download | rust-3e3e50bf0fa6282c7265e34589170033c2301edd.tar.gz rust-3e3e50bf0fa6282c7265e34589170033c2301edd.zip | |
Add example of false positive to PTR_ARG docs.
Fixes #214
| -rw-r--r-- | clippy_lints/src/ptr.rs | 17 |
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 |
