tamaron
51db157fb4
fix
2022-04-23 22:45:26 +09:00
Nick Mathewson
3d41358a55
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
2021-12-31 23:39:40 -05:00
Andre Bogus
a4ede72b3d
update most tests to 2021 edition
2021-10-30 14:50:53 +02:00
Cameron Steffen
d7f47f280e
Use break api config for wrong_pub_self_convention
2021-05-26 16:53:13 -05:00
Mateusz Gacek
6966c78be7
wrong_self_convention: fix FP inside trait impl for to_*
method
...
When the `to_*` method takes `&self` and it is a trait implementation,
we don't trigger the lint.
2021-03-29 23:46:03 -07:00
Mateusz Gacek
ea15fb2177
wrong_self_convention: to_
respects Copy
types
...
More details here:
https://rust-lang.github.io/api-guidelines/naming.html#ad-hoc-conversions-follow-as_-to_-into_-conventions-c-conv
2021-03-17 22:00:46 +01:00
ThibsG
af480a67be
Ensure Copy
exception in trait definition for wrong_self_convention
lint
2020-12-30 12:02:26 +01:00
ThibsG
90a16e4397
Add tests for unsized trait in wrong_self_convention
lint
2020-12-10 17:53:47 +01:00
ThibsG
4af9382bec
Common function to lint wrong self convention from impl and trait def
2020-12-10 17:08:42 +01:00
ThibsG
a6bb9276f7
Lint wrong self convention in trait also
2020-12-10 17:08:42 +01:00
ThibsG
03bc7aed44
Add async test case for wrong_self_convention
lint
2020-08-22 08:14:42 +02:00
David Tolnay
94154cad20
Downgrade trivially_copy_pass_by_ref to pedantic
2020-04-02 18:56:10 -07:00
Michael Wright
77278ccda9
Fix wrong_self_convention
issue
...
Resolves #4293
2019-08-10 06:01:15 +02:00
Philipp Hansch
38d4ac7cea
Remove all copyright license headers
...
Discussion previously happened in https://github.com/rust-lang/rust/pull/43498
2019-01-08 21:46:39 +01:00
Matthias Krüger
435299be30
rustfmt tests
2018-12-09 23:26:16 +01:00
Oliver Scherer
b8654eaa6c
Stabilize tool lints
2018-10-11 12:16:22 +02:00
Manish Goregaokar
e9c025ea70
Add license header to Rust files
2018-10-06 09:43:08 -07:00
Josh Mcguigan
f142098474
Correct false positive in wrong_self_convention lint for to_mut
2018-10-02 04:47:38 -07:00
flip1995
1b6f6051a8
Adapt ui-tests to the tool_lints
2018-08-29 11:08:29 -07:00
Wim Looman
7547a4ddef
New Lint: Pass small trivially copyable objects by value
...
Fixes #1680
Hardcoded for 64-bit "trivial" size for now
2018-06-15 16:53:34 +02:00
Oliver Schneider
50ffaca4c9
Reduce the hackiness of cargo-clippy
2017-10-03 12:07:24 +02:00
Oliver Schneider
74c776585c
Move all our tests back to ui tests
2017-08-01 17:54:21 +02:00
Oliver Schneider
4465bc3e3f
Make most tests an example
so we can run them one by one
2017-05-17 14:19:44 +02:00
Oliver Schneider
1f2c97a291
remove all //~ from tests
2017-02-08 14:58:07 +01:00
Oliver Schneider
fd1351f6e3
rustup and compile-fail -> ui test move
2017-02-07 21:05:30 +01:00