about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLzu Tao <taolzu@gmail.com>2024-05-24 09:24:54 +0700
committerLzu Tao <taolzu@gmail.com>2024-06-08 16:50:25 +0700
commitaff0e6d6d3aec4ce29af95a4dcf615650f1c5e4d (patch)
treee31fd6fc4d81e40fa8b36df08d672b66a2fe88e6
parent0eb9f41a07ae7087d7f9ce557cbfcaa2b173c95a (diff)
downloadrust-aff0e6d6d3aec4ce29af95a4dcf615650f1c5e4d.tar.gz
rust-aff0e6d6d3aec4ce29af95a4dcf615650f1c5e4d.zip
add uitest for indexing in unnecessary const items
-rw-r--r--tests/ui/unnecessary_operation.fixed13
-rw-r--r--tests/ui/unnecessary_operation.rs13
-rw-r--r--tests/ui/unnecessary_operation.stderr20
3 files changed, 43 insertions, 3 deletions
diff --git a/tests/ui/unnecessary_operation.fixed b/tests/ui/unnecessary_operation.fixed
index 11761c6c90e..e54491ab023 100644
--- a/tests/ui/unnecessary_operation.fixed
+++ b/tests/ui/unnecessary_operation.fixed
@@ -43,7 +43,7 @@ fn get_number() -> i32 {
     0
 }
 
-fn get_usize() -> usize {
+const fn get_usize() -> usize {
     0
 }
 fn get_struct() -> Struct {
@@ -113,4 +113,15 @@ fn main() {
     'label: {
         break 'label
     };
+    let () = const {
+        assert!([42, 55].len() > get_usize());
+    };
+}
+
+const _: () = {
+    assert!([42, 55].len() > get_usize());
+};
+
+const fn foo() {
+    assert!([42, 55].len() > get_usize());
 }
diff --git a/tests/ui/unnecessary_operation.rs b/tests/ui/unnecessary_operation.rs
index de0081289ac..679d303f3ad 100644
--- a/tests/ui/unnecessary_operation.rs
+++ b/tests/ui/unnecessary_operation.rs
@@ -43,7 +43,7 @@ fn get_number() -> i32 {
     0
 }
 
-fn get_usize() -> usize {
+const fn get_usize() -> usize {
     0
 }
 fn get_struct() -> Struct {
@@ -117,4 +117,15 @@ fn main() {
     'label: {
         break 'label
     };
+    let () = const {
+        [42, 55][get_usize()];
+    };
+}
+
+const _: () = {
+    [42, 55][get_usize()];
+};
+
+const fn foo() {
+    [42, 55][get_usize()];
 }
diff --git a/tests/ui/unnecessary_operation.stderr b/tests/ui/unnecessary_operation.stderr
index 27be5e6f4b9..3c031d006d4 100644
--- a/tests/ui/unnecessary_operation.stderr
+++ b/tests/ui/unnecessary_operation.stderr
@@ -119,5 +119,23 @@ LL | |         s: String::from("blah"),
 LL | |     };
    | |______^ help: statement can be reduced to: `String::from("blah");`
 
-error: aborting due to 19 previous errors
+error: unnecessary operation
+  --> tests/ui/unnecessary_operation.rs:121:9
+   |
+LL |         [42, 55][get_usize()];
+   |         ^^^^^^^^^^^^^^^^^^^^^^ help: statement can be written as: `assert!([42, 55].len() > get_usize());`
+
+error: unnecessary operation
+  --> tests/ui/unnecessary_operation.rs:126:5
+   |
+LL |     [42, 55][get_usize()];
+   |     ^^^^^^^^^^^^^^^^^^^^^^ help: statement can be written as: `assert!([42, 55].len() > get_usize());`
+
+error: unnecessary operation
+  --> tests/ui/unnecessary_operation.rs:130:5
+   |
+LL |     [42, 55][get_usize()];
+   |     ^^^^^^^^^^^^^^^^^^^^^^ help: statement can be written as: `assert!([42, 55].len() > get_usize());`
+
+error: aborting due to 22 previous errors