diff options
| author | Alex Macleod <alex@macleod.io> | 2022-10-01 21:54:22 +0000 |
|---|---|---|
| committer | Alex Macleod <alex@macleod.io> | 2022-10-01 22:31:10 +0000 |
| commit | 52a68dc097cc8064a7464598bca959f2706aab18 (patch) | |
| tree | 7077ccebce36421dd3a20e73bbba33c9a1208414 /src | |
| parent | 64243c6f998df7cea3c86488c67481de09fec31c (diff) | |
| download | rust-52a68dc097cc8064a7464598bca959f2706aab18.tar.gz rust-52a68dc097cc8064a7464598bca959f2706aab18.zip | |
lint nested patterns and slice patterns in `needless_borrowed_reference`
Diffstat (limited to 'src')
| -rw-r--r-- | src/docs/needless_borrowed_reference.txt | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/src/docs/needless_borrowed_reference.txt b/src/docs/needless_borrowed_reference.txt index 55faa0cf571..152459ba1c9 100644 --- a/src/docs/needless_borrowed_reference.txt +++ b/src/docs/needless_borrowed_reference.txt @@ -1,30 +1,22 @@ ### What it does -Checks for bindings that destructure a reference and borrow the inner +Checks for bindings that needlessly destructure a reference and borrow the inner value with `&ref`. ### Why is this bad? This pattern has no effect in almost all cases. -### Known problems -In some cases, `&ref` is needed to avoid a lifetime mismatch error. -Example: -``` -fn foo(a: &Option<String>, b: &Option<String>) { - match (a, b) { - (None, &ref c) | (&ref c, None) => (), - (&Some(ref c), _) => (), - }; -} -``` - ### Example ``` let mut v = Vec::<String>::new(); v.iter_mut().filter(|&ref a| a.is_empty()); + +if let &[ref first, ref second] = v.as_slice() {} ``` Use instead: ``` let mut v = Vec::<String>::new(); v.iter_mut().filter(|a| a.is_empty()); + +if let [first, second] = v.as_slice() {} ``` \ No newline at end of file |
