mirror of
https://github.com/rust-lang/rust-clippy
synced 2025-02-17 06:28:42 +00:00
Add test that adding allow attribute on impl block containing len silences len_without_is_empty. Add extra impl block to PubOne to check that this doesn't get flagged@
This commit is contained in:
parent
2dd45b7317
commit
0396756098
2 changed files with 60 additions and 36 deletions
|
@ -12,6 +12,30 @@ impl PubOne {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl PubOne { // A second impl for this struct - the error span shouldn't mention this
|
||||||
|
pub fn irrelevant(self: &Self) -> bool {
|
||||||
|
false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Identical to PubOne, but with an allow attribute on the impl complaining len
|
||||||
|
pub struct PubAllowed;
|
||||||
|
|
||||||
|
#[allow(len_without_is_empty)]
|
||||||
|
impl PubAllowed {
|
||||||
|
pub fn len(self: &Self) -> isize {
|
||||||
|
1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// No allow attribute on this impl block, but that doesn't matter - we only require on the
|
||||||
|
// impl containing len.
|
||||||
|
impl PubAllowed {
|
||||||
|
pub fn irrelevant(self: &Self) -> bool {
|
||||||
|
false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
struct NotPubOne;
|
struct NotPubOne;
|
||||||
|
|
||||||
impl NotPubOne {
|
impl NotPubOne {
|
||||||
|
|
|
@ -16,48 +16,48 @@ note: lint level defined here
|
||||||
| ^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: trait `PubTraitsToo` has a `len` method but no `is_empty` method
|
error: trait `PubTraitsToo` has a `len` method but no `is_empty` method
|
||||||
--> $DIR/len_zero.rs:31:1
|
--> $DIR/len_zero.rs:55:1
|
||||||
|
|
|
|
||||||
31 | pub trait PubTraitsToo {
|
55 | pub trait PubTraitsToo {
|
||||||
| _^ starting here...
|
| _^ starting here...
|
||||||
32 | | fn len(self: &Self) -> isize;
|
56 | | fn len(self: &Self) -> isize;
|
||||||
33 | | }
|
57 | | }
|
||||||
| |_^ ...ending here
|
| |_^ ...ending here
|
||||||
|
|
||||||
error: item `HasIsEmpty` has a public `len` method but a private `is_empty` method
|
error: item `HasIsEmpty` has a public `len` method but a private `is_empty` method
|
||||||
--> $DIR/len_zero.rs:65:1
|
--> $DIR/len_zero.rs:89:1
|
||||||
|
|
|
|
||||||
65 | impl HasIsEmpty {
|
89 | impl HasIsEmpty {
|
||||||
| _^ starting here...
|
| _^ starting here...
|
||||||
66 | | pub fn len(self: &Self) -> isize {
|
90 | | pub fn len(self: &Self) -> isize {
|
||||||
67 | | 1
|
91 | | 1
|
||||||
68 | | }
|
92 | | }
|
||||||
69 | |
|
93 | |
|
||||||
70 | | fn is_empty(self: &Self) -> bool {
|
94 | | fn is_empty(self: &Self) -> bool {
|
||||||
71 | | false
|
95 | | false
|
||||||
72 | | }
|
96 | | }
|
||||||
73 | | }
|
97 | | }
|
||||||
| |_^ ...ending here
|
| |_^ ...ending here
|
||||||
|
|
||||||
error: item `HasWrongIsEmpty` has a public `len` method but no corresponding `is_empty` method
|
error: item `HasWrongIsEmpty` has a public `len` method but no corresponding `is_empty` method
|
||||||
--> $DIR/len_zero.rs:94:1
|
--> $DIR/len_zero.rs:118:1
|
||||||
|
|
|
|
||||||
94 | impl HasWrongIsEmpty {
|
118 | impl HasWrongIsEmpty {
|
||||||
| _^ starting here...
|
| _^ starting here...
|
||||||
95 | | pub fn len(self: &Self) -> isize {
|
119 | | pub fn len(self: &Self) -> isize {
|
||||||
96 | | 1
|
120 | | 1
|
||||||
97 | | }
|
121 | | }
|
||||||
98 | |
|
122 | |
|
||||||
99 | | pub fn is_empty(self: &Self, x : u32) -> bool {
|
123 | | pub fn is_empty(self: &Self, x : u32) -> bool {
|
||||||
100 | | false
|
124 | | false
|
||||||
101 | | }
|
125 | | }
|
||||||
102 | | }
|
126 | | }
|
||||||
| |_^ ...ending here
|
| |_^ ...ending here
|
||||||
|
|
||||||
error: length comparison to zero
|
error: length comparison to zero
|
||||||
--> $DIR/len_zero.rs:106:8
|
--> $DIR/len_zero.rs:130:8
|
||||||
|
|
|
|
||||||
106 | if x.len() == 0 {
|
130 | if x.len() == 0 {
|
||||||
| ^^^^^^^^^^^^
|
| ^^^^^^^^^^^^
|
||||||
|
|
|
|
||||||
note: lint level defined here
|
note: lint level defined here
|
||||||
|
@ -69,45 +69,45 @@ help: consider using `is_empty`
|
||||||
| if x.is_empty() {
|
| if x.is_empty() {
|
||||||
|
|
||||||
error: length comparison to zero
|
error: length comparison to zero
|
||||||
--> $DIR/len_zero.rs:113:8
|
--> $DIR/len_zero.rs:137:8
|
||||||
|
|
|
|
||||||
113 | if "".len() == 0 {
|
137 | if "".len() == 0 {
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
|
|
||||||
help: consider using `is_empty`
|
help: consider using `is_empty`
|
||||||
| if "".is_empty() {
|
| if "".is_empty() {
|
||||||
|
|
||||||
error: length comparison to zero
|
error: length comparison to zero
|
||||||
--> $DIR/len_zero.rs:130:8
|
--> $DIR/len_zero.rs:154:8
|
||||||
|
|
|
|
||||||
130 | if has_is_empty.len() == 0 {
|
154 | if has_is_empty.len() == 0 {
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
|
||||||
help: consider using `is_empty`
|
help: consider using `is_empty`
|
||||||
| if has_is_empty.is_empty() {
|
| if has_is_empty.is_empty() {
|
||||||
|
|
||||||
error: length comparison to zero
|
error: length comparison to zero
|
||||||
--> $DIR/len_zero.rs:136:8
|
--> $DIR/len_zero.rs:160:8
|
||||||
|
|
|
|
||||||
136 | if has_is_empty.len() != 0 {
|
160 | if has_is_empty.len() != 0 {
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
|
||||||
help: consider using `is_empty`
|
help: consider using `is_empty`
|
||||||
| if !has_is_empty.is_empty() {
|
| if !has_is_empty.is_empty() {
|
||||||
|
|
||||||
error: length comparison to zero
|
error: length comparison to zero
|
||||||
--> $DIR/len_zero.rs:142:8
|
--> $DIR/len_zero.rs:166:8
|
||||||
|
|
|
|
||||||
142 | if has_is_empty.len() > 0 {
|
166 | if has_is_empty.len() > 0 {
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
|
||||||
help: consider using `is_empty`
|
help: consider using `is_empty`
|
||||||
| if !has_is_empty.is_empty() {
|
| if !has_is_empty.is_empty() {
|
||||||
|
|
||||||
error: length comparison to zero
|
error: length comparison to zero
|
||||||
--> $DIR/len_zero.rs:151:8
|
--> $DIR/len_zero.rs:175:8
|
||||||
|
|
|
|
||||||
151 | if with_is_empty.len() == 0 {
|
175 | if with_is_empty.len() == 0 {
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
|
||||||
help: consider using `is_empty`
|
help: consider using `is_empty`
|
||||||
|
|
Loading…
Add table
Reference in a new issue