Skip to content

Commit 6734d39

Browse files
committed
update fn_must_use UI test to exercise nonprimitive comparisons
1 parent 8917616 commit 6734d39

File tree

2 files changed

+31
-12
lines changed

2 files changed

+31
-12
lines changed

src/test/ui/rfc_1940-must_use_on_functions/fn_must_use.rs

+9-2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#![feature(fn_must_use)]
1212
#![warn(unused_must_use)]
1313

14+
#[derive(PartialEq, Eq)]
1415
struct MyStruct {
1516
n: usize,
1617
}
@@ -58,12 +59,18 @@ fn main() {
5859
need_to_use_this_value();
5960

6061
let mut m = MyStruct { n: 2 };
62+
let n = MyStruct { n: 3 };
63+
6164
m.need_to_use_this_method_value();
6265
m.is_even(); // trait method!
6366

6467
m.replace(3); // won't warn (annotation needs to be in trait definition)
6568

66-
2.eq(&3); // comparison methods are `must_use`
69+
// comparison methods are `must_use`
70+
2.eq(&3);
71+
m.eq(&n);
6772

68-
2 == 3; // lint includes comparison operators
73+
// lint includes comparison operators
74+
2 == 3;
75+
m == n;
6976
}
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
warning: unused return value of `need_to_use_this_value` which must be used: it's important
2-
--> $DIR/fn_must_use.rs:58:5
2+
--> $DIR/fn_must_use.rs:59:5
33
|
4-
58 | need_to_use_this_value();
4+
59 | need_to_use_this_value();
55
| ^^^^^^^^^^^^^^^^^^^^^^^^^
66
|
77
note: lint level defined here
@@ -11,26 +11,38 @@ note: lint level defined here
1111
| ^^^^^^^^^^^^^^^
1212

1313
warning: unused return value of `MyStruct::need_to_use_this_method_value` which must be used
14-
--> $DIR/fn_must_use.rs:61:5
14+
--> $DIR/fn_must_use.rs:64:5
1515
|
16-
61 | m.need_to_use_this_method_value();
16+
64 | m.need_to_use_this_method_value();
1717
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1818

1919
warning: unused return value of `EvenNature::is_even` which must be used: no side effects
20-
--> $DIR/fn_must_use.rs:62:5
20+
--> $DIR/fn_must_use.rs:65:5
2121
|
22-
62 | m.is_even(); // trait method!
22+
65 | m.is_even(); // trait method!
2323
| ^^^^^^^^^^^^
2424

2525
warning: unused return value of `std::cmp::PartialEq::eq` which must be used
26-
--> $DIR/fn_must_use.rs:66:5
26+
--> $DIR/fn_must_use.rs:70:5
2727
|
28-
66 | 2.eq(&3); // comparison methods are `must_use`
28+
70 | 2.eq(&3);
2929
| ^^^^^^^^^
3030

31+
warning: unused return value of `std::cmp::PartialEq::eq` which must be used
32+
--> $DIR/fn_must_use.rs:71:5
33+
|
34+
71 | m.eq(&n);
35+
| ^^^^^^^^^
36+
37+
warning: unused comparison which must be used
38+
--> $DIR/fn_must_use.rs:74:5
39+
|
40+
74 | 2 == 3;
41+
| ^^^^^^
42+
3143
warning: unused comparison which must be used
32-
--> $DIR/fn_must_use.rs:68:5
44+
--> $DIR/fn_must_use.rs:75:5
3345
|
34-
68 | 2 == 3; // lint includes comparison operators
46+
75 | m == n;
3547
| ^^^^^^
3648

0 commit comments

Comments
 (0)