summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/tests/ui/get_last_with_len.fixed
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/clippy/tests/ui/get_last_with_len.fixed')
-rw-r--r--src/tools/clippy/tests/ui/get_last_with_len.fixed49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/tools/clippy/tests/ui/get_last_with_len.fixed b/src/tools/clippy/tests/ui/get_last_with_len.fixed
new file mode 100644
index 000000000..1e90b3768
--- /dev/null
+++ b/src/tools/clippy/tests/ui/get_last_with_len.fixed
@@ -0,0 +1,49 @@
+// run-rustfix
+
+#![warn(clippy::get_last_with_len)]
+#![allow(unused)]
+
+use std::collections::VecDeque;
+
+fn dont_use_last() {
+ let x = vec![2, 3, 5];
+ let _ = x.last();
+}
+
+fn indexing_two_from_end() {
+ let x = vec![2, 3, 5];
+ let _ = x.get(x.len() - 2);
+}
+
+fn index_into_last() {
+ let x = vec![2, 3, 5];
+ let _ = x[x.len() - 1];
+}
+
+fn use_last_with_different_vec_length() {
+ let x = vec![2, 3, 5];
+ let y = vec!['a', 'b', 'c'];
+ let _ = x.get(y.len() - 1);
+}
+
+struct S {
+ field: Vec<usize>,
+}
+
+fn in_field(s: &S) {
+ let _ = s.field.last();
+}
+
+fn main() {
+ let slice = &[1, 2, 3];
+ let _ = slice.last();
+
+ let array = [4, 5, 6];
+ let _ = array.last();
+
+ let deq = VecDeque::from([7, 8, 9]);
+ let _ = deq.back();
+
+ let nested = [[1]];
+ let _ = nested[0].last();
+}