about summary refs log tree commit diff
path: root/tests/mir-opt/lower_array_len.array_len_raw.NormalizeArrayLen.panic-unwind.diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-01-02 17:14:18 +0000
committerbors <bors@rust-lang.org>2022-01-02 17:14:18 +0000
commitb25dbc6a4d934668bfb2a75a43b995516eac40f0 (patch)
tree2b28b779b1554f3aac080fa08a2726c77c0b8065 /tests/mir-opt/lower_array_len.array_len_raw.NormalizeArrayLen.panic-unwind.diff
parent7616eb0dd7417d6ee85e21268ee93f6693c84889 (diff)
parent3d41358a554cb70e23e001f6ac92cf79d805b671 (diff)
downloadrust-b25dbc6a4d934668bfb2a75a43b995516eac40f0.tar.gz
rust-b25dbc6a4d934668bfb2a75a43b995516eac40f0.zip
Auto merge of #8208 - nmathewson:selfkind_no_fix, r=xFrednet
wrong_self_convention: Match `SelfKind::No` more restrictively

The `wrong_self_convention` lint uses a `SelfKind` type to decide
whether a method has the right kind of "self" for its name, or whether
the kind of "self" it has makes its name confusable for a method in
a common trait.  One possibility is `SelfKind::No`, which is supposed
to mean "No `self`".

Previously, SelfKind::No matched everything _except_ Self, including
references to Self.  This patch changes it to match Self, &Self, &mut
Self, Box<Self>, and so on.

For example, this kind of method was allowed before:

```
impl S {
    // Should trigger the lint, because
    // "methods called `is_*` usually take `self` by reference or no `self`"
    fn is_foo(&mut self) -> bool { todo!() }
}
```

But since SelfKind::No matched "&mut self", no lint was triggered
(see #8142).

With this patch, the code above now gives a lint as expected.

fixes #8142

changelog: [`wrong_self_convention`] rejects `self` references in more cases
Diffstat (limited to 'tests/mir-opt/lower_array_len.array_len_raw.NormalizeArrayLen.panic-unwind.diff')
0 files changed, 0 insertions, 0 deletions