about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorZack M. Davis <code@zackmdavis.net>2017-09-23 10:11:39 -0700
committerZack M. Davis <code@zackmdavis.net>2017-09-23 10:11:39 -0700
commit6734d39b49dd00fe5ba1ea875a3e03f9eca23ac0 (patch)
treebbb46bbd1758b486efbe3583c4e94bc4d0afa118 /src
parent8917616e6a295fb4080c8e29362dc1e5a477c479 (diff)
downloadrust-6734d39b49dd00fe5ba1ea875a3e03f9eca23ac0.tar.gz
rust-6734d39b49dd00fe5ba1ea875a3e03f9eca23ac0.zip
update `fn_must_use` UI test to exercise nonprimitive comparisons
Diffstat (limited to 'src')
-rw-r--r--src/test/ui/rfc_1940-must_use_on_functions/fn_must_use.rs11
-rw-r--r--src/test/ui/rfc_1940-must_use_on_functions/fn_must_use.stderr32
2 files changed, 31 insertions, 12 deletions
diff --git a/src/test/ui/rfc_1940-must_use_on_functions/fn_must_use.rs b/src/test/ui/rfc_1940-must_use_on_functions/fn_must_use.rs
index 821cd30c8df..3741ba4f3ae 100644
--- a/src/test/ui/rfc_1940-must_use_on_functions/fn_must_use.rs
+++ b/src/test/ui/rfc_1940-must_use_on_functions/fn_must_use.rs
@@ -11,6 +11,7 @@
 #![feature(fn_must_use)]
 #![warn(unused_must_use)]
 
+#[derive(PartialEq, Eq)]
 struct MyStruct {
     n: usize,
 }
@@ -58,12 +59,18 @@ fn main() {
     need_to_use_this_value();
 
     let mut m = MyStruct { n: 2 };
+    let n = MyStruct { n: 3 };
+
     m.need_to_use_this_method_value();
     m.is_even(); // trait method!
 
     m.replace(3); // won't warn (annotation needs to be in trait definition)
 
-    2.eq(&3); // comparison methods are `must_use`
+    // comparison methods are `must_use`
+    2.eq(&3);
+    m.eq(&n);
 
-    2 == 3; // lint includes comparison operators
+    // lint includes comparison operators
+    2 == 3;
+    m == n;
 }
diff --git a/src/test/ui/rfc_1940-must_use_on_functions/fn_must_use.stderr b/src/test/ui/rfc_1940-must_use_on_functions/fn_must_use.stderr
index 7fc0a4ce1ed..fdd0a591bc7 100644
--- a/src/test/ui/rfc_1940-must_use_on_functions/fn_must_use.stderr
+++ b/src/test/ui/rfc_1940-must_use_on_functions/fn_must_use.stderr
@@ -1,7 +1,7 @@
 warning: unused return value of `need_to_use_this_value` which must be used: it's important
-  --> $DIR/fn_must_use.rs:58:5
+  --> $DIR/fn_must_use.rs:59:5
    |
-58 |     need_to_use_this_value();
+59 |     need_to_use_this_value();
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
    |
 note: lint level defined here
@@ -11,26 +11,38 @@ note: lint level defined here
    |         ^^^^^^^^^^^^^^^
 
 warning: unused return value of `MyStruct::need_to_use_this_method_value` which must be used
-  --> $DIR/fn_must_use.rs:61:5
+  --> $DIR/fn_must_use.rs:64:5
    |
-61 |     m.need_to_use_this_method_value();
+64 |     m.need_to_use_this_method_value();
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 warning: unused return value of `EvenNature::is_even` which must be used: no side effects
-  --> $DIR/fn_must_use.rs:62:5
+  --> $DIR/fn_must_use.rs:65:5
    |
-62 |     m.is_even(); // trait method!
+65 |     m.is_even(); // trait method!
    |     ^^^^^^^^^^^^
 
 warning: unused return value of `std::cmp::PartialEq::eq` which must be used
-  --> $DIR/fn_must_use.rs:66:5
+  --> $DIR/fn_must_use.rs:70:5
    |
-66 |     2.eq(&3); // comparison methods are `must_use`
+70 |     2.eq(&3);
    |     ^^^^^^^^^
 
+warning: unused return value of `std::cmp::PartialEq::eq` which must be used
+  --> $DIR/fn_must_use.rs:71:5
+   |
+71 |     m.eq(&n);
+   |     ^^^^^^^^^
+
+warning: unused comparison which must be used
+  --> $DIR/fn_must_use.rs:74:5
+   |
+74 |     2 == 3;
+   |     ^^^^^^
+
 warning: unused comparison which must be used
-  --> $DIR/fn_must_use.rs:68:5
+  --> $DIR/fn_must_use.rs:75:5
    |
-68 |     2 == 3; // lint includes comparison operators
+75 |     m == n;
    |     ^^^^^^