Skip to content

Commit a7da8a6

Browse files
committed
Auto merge of rust-lang#95274 - jendrikw:slice-must-use, r=Dylan-DPC
add #[must_use] to functions of slice and its iterators. Continuation of rust-lang#92853. Tracking issue: rust-lang#89692.
2 parents 2d85270 + 41f1413 commit a7da8a6

6 files changed

+30
-30
lines changed

tests/ui/bytes_nth.fixed

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
fn main() {
77
let s = String::from("String");
8-
s.as_bytes().get(3);
8+
let _ = s.as_bytes().get(3);
99
let _ = &s.as_bytes().get(3);
10-
s[..].as_bytes().get(3);
10+
let _ = s[..].as_bytes().get(3);
1111
}

tests/ui/bytes_nth.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
fn main() {
77
let s = String::from("String");
8-
s.bytes().nth(3);
8+
let _ = s.bytes().nth(3);
99
let _ = &s.bytes().nth(3);
10-
s[..].bytes().nth(3);
10+
let _ = s[..].bytes().nth(3);
1111
}

tests/ui/bytes_nth.stderr

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
error: called `.byte().nth()` on a `String`
2-
--> $DIR/bytes_nth.rs:8:5
2+
--> $DIR/bytes_nth.rs:8:13
33
|
4-
LL | s.bytes().nth(3);
5-
| ^^^^^^^^^^^^^^^^ help: try: `s.as_bytes().get(3)`
4+
LL | let _ = s.bytes().nth(3);
5+
| ^^^^^^^^^^^^^^^^ help: try: `s.as_bytes().get(3)`
66
|
77
= note: `-D clippy::bytes-nth` implied by `-D warnings`
88

@@ -13,10 +13,10 @@ LL | let _ = &s.bytes().nth(3);
1313
| ^^^^^^^^^^^^^^^^ help: try: `s.as_bytes().get(3)`
1414

1515
error: called `.byte().nth()` on a `str`
16-
--> $DIR/bytes_nth.rs:10:5
16+
--> $DIR/bytes_nth.rs:10:13
1717
|
18-
LL | s[..].bytes().nth(3);
19-
| ^^^^^^^^^^^^^^^^^^^^ help: try: `s[..].as_bytes().get(3)`
18+
LL | let _ = s[..].bytes().nth(3);
19+
| ^^^^^^^^^^^^^^^^^^^^ help: try: `s[..].as_bytes().get(3)`
2020

2121
error: aborting due to 3 previous errors
2222

tests/ui/iter_next_slice.fixed

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@ fn main() {
66
let s = [1, 2, 3];
77
let v = vec![1, 2, 3];
88

9-
s.get(0);
9+
let _ = s.get(0);
1010
// Should be replaced by s.get(0)
1111

12-
s.get(2);
12+
let _ = s.get(2);
1313
// Should be replaced by s.get(2)
1414

15-
v.get(5);
15+
let _ = v.get(5);
1616
// Should be replaced by v.get(5)
1717

18-
v.get(0);
18+
let _ = v.get(0);
1919
// Should be replaced by v.get(0)
2020

2121
let o = Some(5);

tests/ui/iter_next_slice.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@ fn main() {
66
let s = [1, 2, 3];
77
let v = vec![1, 2, 3];
88

9-
s.iter().next();
9+
let _ = s.iter().next();
1010
// Should be replaced by s.get(0)
1111

12-
s[2..].iter().next();
12+
let _ = s[2..].iter().next();
1313
// Should be replaced by s.get(2)
1414

15-
v[5..].iter().next();
15+
let _ = v[5..].iter().next();
1616
// Should be replaced by v.get(5)
1717

18-
v.iter().next();
18+
let _ = v.iter().next();
1919
// Should be replaced by v.get(0)
2020

2121
let o = Some(5);

tests/ui/iter_next_slice.stderr

+12-12
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
error: using `.iter().next()` on an array
2-
--> $DIR/iter_next_slice.rs:9:5
2+
--> $DIR/iter_next_slice.rs:9:13
33
|
4-
LL | s.iter().next();
5-
| ^^^^^^^^^^^^^^^ help: try calling: `s.get(0)`
4+
LL | let _ = s.iter().next();
5+
| ^^^^^^^^^^^^^^^ help: try calling: `s.get(0)`
66
|
77
= note: `-D clippy::iter-next-slice` implied by `-D warnings`
88

99
error: using `.iter().next()` on a Slice without end index
10-
--> $DIR/iter_next_slice.rs:12:5
10+
--> $DIR/iter_next_slice.rs:12:13
1111
|
12-
LL | s[2..].iter().next();
13-
| ^^^^^^^^^^^^^^^^^^^^ help: try calling: `s.get(2)`
12+
LL | let _ = s[2..].iter().next();
13+
| ^^^^^^^^^^^^^^^^^^^^ help: try calling: `s.get(2)`
1414

1515
error: using `.iter().next()` on a Slice without end index
16-
--> $DIR/iter_next_slice.rs:15:5
16+
--> $DIR/iter_next_slice.rs:15:13
1717
|
18-
LL | v[5..].iter().next();
19-
| ^^^^^^^^^^^^^^^^^^^^ help: try calling: `v.get(5)`
18+
LL | let _ = v[5..].iter().next();
19+
| ^^^^^^^^^^^^^^^^^^^^ help: try calling: `v.get(5)`
2020

2121
error: using `.iter().next()` on an array
22-
--> $DIR/iter_next_slice.rs:18:5
22+
--> $DIR/iter_next_slice.rs:18:13
2323
|
24-
LL | v.iter().next();
25-
| ^^^^^^^^^^^^^^^ help: try calling: `v.get(0)`
24+
LL | let _ = v.iter().next();
25+
| ^^^^^^^^^^^^^^^ help: try calling: `v.get(0)`
2626

2727
error: aborting due to 4 previous errors
2828

0 commit comments

Comments
 (0)