-error: this pattern takes a reference on something that is being de-referenced
- --> $DIR/needless_borrowed_ref.rs:18:34
+error: this pattern takes a reference on something that is being dereferenced
+ --> $DIR/needless_borrowed_ref.rs:31:34
|
-18 | let _ = v.iter_mut().filter(|&ref a| a.is_empty());
- | ^^^^^^ help: try removing the `&ref` part and just keep: `a`
+LL | let _ = v.iter_mut().filter(|&ref a| a.is_empty());
+ | ^^^^^^
|
= note: `-D clippy::needless-borrowed-reference` implied by `-D warnings`
+help: try removing the `&ref` part
+ |
+LL - let _ = v.iter_mut().filter(|&ref a| a.is_empty());
+LL + let _ = v.iter_mut().filter(|a| a.is_empty());
+ |
+
+error: this pattern takes a reference on something that is being dereferenced
+ --> $DIR/needless_borrowed_ref.rs:35:17
+ |
+LL | if let Some(&ref v) = thingy {}
+ | ^^^^^^
+ |
+help: try removing the `&ref` part
+ |
+LL - if let Some(&ref v) = thingy {}
+LL + if let Some(v) = thingy {}
+ |
+
+error: this pattern takes a reference on something that is being dereferenced
+ --> $DIR/needless_borrowed_ref.rs:37:14
+ |
+LL | if let &[&ref a, ref b] = slice_of_refs {}
+ | ^^^^^^
+ |
+help: try removing the `&ref` part
+ |
+LL - if let &[&ref a, ref b] = slice_of_refs {}
+LL + if let &[a, ref b] = slice_of_refs {}
+ |
+
+error: dereferencing a slice pattern where every element takes a reference
+ --> $DIR/needless_borrowed_ref.rs:39:9
+ |
+LL | let &[ref a, ..] = &array;
+ | ^^^^^^^^^^^^
+ |
+help: try removing the `&` and `ref` parts
+ |
+LL - let &[ref a, ..] = &array;
+LL + let [a, ..] = &array;
+ |
+
+error: dereferencing a slice pattern where every element takes a reference
+ --> $DIR/needless_borrowed_ref.rs:40:9
+ |
+LL | let &[ref a, ref b, ..] = &array;
+ | ^^^^^^^^^^^^^^^^^^^
+ |
+help: try removing the `&` and `ref` parts
+ |
+LL - let &[ref a, ref b, ..] = &array;
+LL + let [a, b, ..] = &array;
+ |
+
+error: dereferencing a slice pattern where every element takes a reference
+ --> $DIR/needless_borrowed_ref.rs:42:12
+ |
+LL | if let &[ref a, ref b] = slice {}
+ | ^^^^^^^^^^^^^^^
+ |
+help: try removing the `&` and `ref` parts
+ |
+LL - if let &[ref a, ref b] = slice {}
+LL + if let [a, b] = slice {}
+ |
+
+error: dereferencing a slice pattern where every element takes a reference
+ --> $DIR/needless_borrowed_ref.rs:43:12
+ |
+LL | if let &[ref a, ref b] = &vec[..] {}
+ | ^^^^^^^^^^^^^^^
+ |
+help: try removing the `&` and `ref` parts
+ |
+LL - if let &[ref a, ref b] = &vec[..] {}
+LL + if let [a, b] = &vec[..] {}
+ |
+
+error: dereferencing a slice pattern where every element takes a reference
+ --> $DIR/needless_borrowed_ref.rs:45:12
+ |
+LL | if let &[ref a, ref b, ..] = slice {}
+ | ^^^^^^^^^^^^^^^^^^^
+ |
+help: try removing the `&` and `ref` parts
+ |
+LL - if let &[ref a, ref b, ..] = slice {}
+LL + if let [a, b, ..] = slice {}
+ |
+
+error: dereferencing a slice pattern where every element takes a reference
+ --> $DIR/needless_borrowed_ref.rs:46:12
+ |
+LL | if let &[ref a, .., ref b] = slice {}
+ | ^^^^^^^^^^^^^^^^^^^
+ |
+help: try removing the `&` and `ref` parts
+ |
+LL - if let &[ref a, .., ref b] = slice {}
+LL + if let [a, .., b] = slice {}
+ |
+
+error: dereferencing a slice pattern where every element takes a reference
+ --> $DIR/needless_borrowed_ref.rs:47:12
+ |
+LL | if let &[.., ref a, ref b] = slice {}
+ | ^^^^^^^^^^^^^^^^^^^
+ |
+help: try removing the `&` and `ref` parts
+ |
+LL - if let &[.., ref a, ref b] = slice {}
+LL + if let [.., a, b] = slice {}
+ |
+
+error: dereferencing a slice pattern where every element takes a reference
+ --> $DIR/needless_borrowed_ref.rs:49:12
+ |
+LL | if let &[ref a, _] = slice {}
+ | ^^^^^^^^^^^
+ |
+help: try removing the `&` and `ref` parts
+ |
+LL - if let &[ref a, _] = slice {}
+LL + if let [a, _] = slice {}
+ |
+
+error: dereferencing a tuple pattern where every element takes a reference
+ --> $DIR/needless_borrowed_ref.rs:51:12
+ |
+LL | if let &(ref a, ref b, ref c) = &tuple {}
+ | ^^^^^^^^^^^^^^^^^^^^^^
+ |
+help: try removing the `&` and `ref` parts
+ |
+LL - if let &(ref a, ref b, ref c) = &tuple {}
+LL + if let (a, b, c) = &tuple {}
+ |
-error: this pattern takes a reference on something that is being de-referenced
- --> $DIR/needless_borrowed_ref.rs:23:17
+error: dereferencing a tuple pattern where every element takes a reference
+ --> $DIR/needless_borrowed_ref.rs:52:12
+ |
+LL | if let &(ref a, _, ref c) = &tuple {}
+ | ^^^^^^^^^^^^^^^^^^
+ |
+help: try removing the `&` and `ref` parts
+ |
+LL - if let &(ref a, _, ref c) = &tuple {}
+LL + if let (a, _, c) = &tuple {}
|
-23 | if let Some(&ref v) = thingy {
- | ^^^^^^ help: try removing the `&ref` part and just keep: `v`
-error: this pattern takes a reference on something that is being de-referenced
- --> $DIR/needless_borrowed_ref.rs:52:27
+error: dereferencing a tuple pattern where every element takes a reference
+ --> $DIR/needless_borrowed_ref.rs:53:12
+ |
+LL | if let &(ref a, ..) = &tuple {}
+ | ^^^^^^^^^^^^
+ |
+help: try removing the `&` and `ref` parts
+ |
+LL - if let &(ref a, ..) = &tuple {}
+LL + if let (a, ..) = &tuple {}
|
-52 | (&Animal::Cat(v), &ref k) | (&ref k, &Animal::Cat(v)) => (), // lifetime mismatch error if there is no '&ref'
- | ^^^^^^ help: try removing the `&ref` part and just keep: `k`
-error: this pattern takes a reference on something that is being de-referenced
- --> $DIR/needless_borrowed_ref.rs:52:38
+error: dereferencing a tuple pattern where every element takes a reference
+ --> $DIR/needless_borrowed_ref.rs:55:12
+ |
+LL | if let &TupleStruct(ref a, ..) = &tuple_struct {}
+ | ^^^^^^^^^^^^^^^^^^^^^^^
+ |
+help: try removing the `&` and `ref` parts
+ |
+LL - if let &TupleStruct(ref a, ..) = &tuple_struct {}
+LL + if let TupleStruct(a, ..) = &tuple_struct {}
+ |
+
+error: dereferencing a struct pattern where every field's pattern takes a reference
+ --> $DIR/needless_borrowed_ref.rs:57:12
+ |
+LL | if let &Struct {
+ | ____________^
+LL | | ref a,
+LL | | b: ref b,
+LL | | c: ref renamed,
+LL | | } = &s
+ | |_____^
+ |
+help: try removing the `&` and `ref` parts
+ |
+LL ~ if let Struct {
+LL ~ a,
+LL ~ b: b,
+LL ~ c: renamed,
+ |
+
+error: dereferencing a struct pattern where every field's pattern takes a reference
+ --> $DIR/needless_borrowed_ref.rs:64:12
+ |
+LL | if let &Struct { ref a, b: _, .. } = &s {}
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ |
+help: try removing the `&` and `ref` parts
+ |
+LL - if let &Struct { ref a, b: _, .. } = &s {}
+LL + if let Struct { a, b: _, .. } = &s {}
|
-52 | (&Animal::Cat(v), &ref k) | (&ref k, &Animal::Cat(v)) => (), // lifetime mismatch error if there is no '&ref'
- | ^^^^^^ help: try removing the `&ref` part and just keep: `k`
-error: aborting due to 4 previous errors
+error: aborting due to 17 previous errors