]> git.lizzy.rs Git - rust.git/commitdiff
Add test that adding allow attribute on impl block containing len silences len_withou...
authorPhil Ellison <phil.j.ellison@gmail.com>
Sun, 19 Feb 2017 15:36:17 +0000 (15:36 +0000)
committerPhil Ellison <phil.j.ellison@gmail.com>
Sun, 19 Feb 2017 15:36:17 +0000 (15:36 +0000)
tests/ui/len_zero.rs
tests/ui/len_zero.stderr

index a310eeef3846df90b8f2ed4490b872b800ab74f0..5b62949d77e42b3735bee5cb430b06751d8a1e5b 100644 (file)
@@ -12,6 +12,30 @@ pub fn len(self: &Self) -> isize {
     }
 }
 
+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;
 
 impl NotPubOne {
index 430cf8575bf15eec178afba5dd4145cf1f3ac02a..9ebc5209a22eb23c5260117bb378f860e9fcab5b 100644 (file)
@@ -16,48 +16,48 @@ note: lint level defined here
    |         ^^^^^^^^^^^^^^^^^^^^
 
 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...
-32 | |     fn len(self: &Self) -> isize;
-33 | | }
+56 | |     fn len(self: &Self) -> isize;
+57 | | }
    | |_^ ...ending here
 
 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...
-66 | |     pub fn len(self: &Self) -> isize {
-67 | |         1
-68 | |     }
-69 | |
-70 | |     fn is_empty(self: &Self) -> bool {
-71 | |         false
-72 | |     }
-73 | | }
+90 | |     pub fn len(self: &Self) -> isize {
+91 | |         1
+92 | |     }
+93 | |
+94 | |     fn is_empty(self: &Self) -> bool {
+95 | |         false
+96 | |     }
+97 | | }
    | |_^ ...ending here
 
 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...
-95  | |     pub fn len(self: &Self) -> isize {
-96  | |         1
-97  | |     }
-98  | |
-99  | |     pub fn is_empty(self: &Self, x : u32) -> bool {
-100 | |         false
-101 | |     }
-102 | | }
+119 | |     pub fn len(self: &Self) -> isize {
+120 | |         1
+121 | |     }
+122 | |
+123 | |     pub fn is_empty(self: &Self, x : u32) -> bool {
+124 | |         false
+125 | |     }
+126 | | }
     | |_^ ...ending here
 
 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
@@ -69,45 +69,45 @@ help: consider using `is_empty`
     |     if x.is_empty() {
 
 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`
     |     if "".is_empty() {
 
 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`
     |     if has_is_empty.is_empty() {
 
 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`
     |     if !has_is_empty.is_empty() {
 
 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`
     |     if !has_is_empty.is_empty() {
 
 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`