about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--tests/ui/simd/array-trait.rs9
-rw-r--r--tests/ui/simd/array-trait.stderr16
-rw-r--r--tests/ui/simd/array-type.rs16
3 files changed, 8 insertions, 33 deletions
diff --git a/tests/ui/simd/array-trait.rs b/tests/ui/simd/array-trait.rs
index bf1e219460f..55fec7a3948 100644
--- a/tests/ui/simd/array-trait.rs
+++ b/tests/ui/simd/array-trait.rs
@@ -33,12 +33,7 @@ extern "platform-intrinsic" {
 pub fn main() {
     let mut t = T::<i32x4>([0; 4]);
     unsafe {
-        for i in 0_i32..4 {
-            t = simd_insert(t, i as u32, i);
-        }
-        for i in 0_i32..4 {
-            assert_eq!(i, simd_extract(t, i as u32));
-            //~^ ERROR: use of moved value: `t`
-        }
+        t = simd_insert(t, 3, 3);
+        assert_eq!(3, simd_extract(t, 3));
     }
 }
diff --git a/tests/ui/simd/array-trait.stderr b/tests/ui/simd/array-trait.stderr
index bbaead569df..16ff732396d 100644
--- a/tests/ui/simd/array-trait.stderr
+++ b/tests/ui/simd/array-trait.stderr
@@ -23,18 +23,6 @@ LL | pub struct T<S: Simd>([S::Lane; S::SIZE]);
    = help: try adding a `where` bound using this expression: `where [(); S::SIZE]:`
    = note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info)
 
-error[E0382]: use of moved value: `t`
-  --> $DIR/array-trait.rs:40:40
-   |
-LL |     let mut t = T::<i32x4>([0; 4]);
-   |         ----- move occurs because `t` has type `T<i32x4>`, which does not implement the `Copy` trait
-...
-LL |         for i in 0_i32..4 {
-   |         ----------------- inside of this loop
-LL |             assert_eq!(i, simd_extract(t, i as u32));
-   |                                        ^ value moved here, in previous iteration of loop
-
-error: aborting due to 4 previous errors
+error: aborting due to 3 previous errors
 
-Some errors have detailed explanations: E0077, E0382.
-For more information about an error, try `rustc --explain E0077`.
+For more information about this error, try `rustc --explain E0077`.
diff --git a/tests/ui/simd/array-type.rs b/tests/ui/simd/array-type.rs
index c9f5ed0d031..0864c3e7418 100644
--- a/tests/ui/simd/array-type.rs
+++ b/tests/ui/simd/array-type.rs
@@ -22,21 +22,13 @@ pub fn main() {
     let mut s = S([0; 4]);
 
     unsafe {
-        for i in 0_i32..4 {
-            s = simd_insert(s, i as u32, i);
-        }
-        for i in 0_i32..4 {
-            assert_eq!(i, simd_extract(s, i as u32));
-        }
+        s = simd_insert(s, 3, 3);
+        assert_eq!(3, simd_extract(s, 3));
     }
 
     let mut t = T::<4>([0; 4]);
     unsafe {
-        for i in 0_i32..4 {
-            t = simd_insert(t, i as u32, i);
-        }
-        for i in 0_i32..4 {
-            assert_eq!(i, simd_extract(t, i as u32));
-        }
+        t = simd_insert(t, 3, 3);
+        assert_eq!(3, simd_extract(t, 3));
     }
 }