about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2021-12-07 11:04:56 +0100
committerGitHub <noreply@github.com>2021-12-07 11:04:56 +0100
commitf84a734a8ea3fdd9abe0217797d7a07f31bb8ee8 (patch)
tree33ba9bdc1652a7539b5161de2b4c66b1389e4465 /src/test
parent2af5c6562deed1878000e791f2cb21b981a53959 (diff)
parent6a17ee6d4125c0c35147b16ebcf54e34f0cdc87a (diff)
downloadrust-f84a734a8ea3fdd9abe0217797d7a07f31bb8ee8.tar.gz
rust-f84a734a8ea3fdd9abe0217797d7a07f31bb8ee8.zip
Rollup merge of #87614 - notriddle:notriddle-count2len, r=Mark-Simulacrum
Recommend fix `count()` -> `len()` on slices

Fixes #87302
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/suggestions/count2len.rs8
-rw-r--r--src/test/ui/suggestions/count2len.stderr36
2 files changed, 44 insertions, 0 deletions
diff --git a/src/test/ui/suggestions/count2len.rs b/src/test/ui/suggestions/count2len.rs
new file mode 100644
index 00000000000..f11a789efbc
--- /dev/null
+++ b/src/test/ui/suggestions/count2len.rs
@@ -0,0 +1,8 @@
+fn main() {
+    let slice = [1,2,3,4];
+    let vec = vec![1,2,3,4];
+
+    slice.count(); //~ERROR: E0599
+    vec.count(); //~ERROR: E0599
+    vec.as_slice().count(); //~ERROR: E0599
+}
diff --git a/src/test/ui/suggestions/count2len.stderr b/src/test/ui/suggestions/count2len.stderr
new file mode 100644
index 00000000000..6394a84dd47
--- /dev/null
+++ b/src/test/ui/suggestions/count2len.stderr
@@ -0,0 +1,36 @@
+error[E0599]: no method named `count` found for array `[{integer}; 4]` in the current scope
+  --> $DIR/count2len.rs:5:11
+   |
+LL |     slice.count();
+   |           ^^^^^
+   |           |
+   |           method cannot be called on `[{integer}; 4]` due to unsatisfied trait bounds
+   |           help: consider using `len` instead
+   |
+   = note: `count` is defined on `Iterator`, which `[{integer}; 4]` does not implement
+
+error[E0599]: no method named `count` found for struct `Vec<{integer}>` in the current scope
+  --> $DIR/count2len.rs:6:9
+   |
+LL |     vec.count();
+   |         ^^^^^
+   |         |
+   |         method cannot be called on `Vec<{integer}>` due to unsatisfied trait bounds
+   |         help: consider using `len` instead
+   |
+   = note: `count` is defined on `Iterator`, which `Vec<{integer}>` does not implement
+
+error[E0599]: no method named `count` found for reference `&[{integer}]` in the current scope
+  --> $DIR/count2len.rs:7:20
+   |
+LL |     vec.as_slice().count();
+   |                    ^^^^^
+   |                    |
+   |                    method cannot be called on `&[{integer}]` due to unsatisfied trait bounds
+   |                    help: consider using `len` instead
+   |
+   = note: `count` is defined on `Iterator`, which `&[{integer}]` does not implement
+
+error: aborting due to 3 previous errors
+
+For more information about this error, try `rustc --explain E0599`.