rust/tests/ui/simd/array-trait.stderr

41 lines
1.5 KiB
Plaintext

error: unconstrained generic constant
--> $DIR/array-trait.rs:23:23
|
LL | pub struct T<S: Simd>([S::Lane; S::SIZE]);
| ^^^^^^^^^^^^^^^^^^
|
= help: try adding a `where` bound using this expression: `where [(); S::SIZE]:`
error[E0077]: SIMD vector element type should be a primitive scalar (integer/float/pointer) type
--> $DIR/array-trait.rs:23:1
|
LL | pub struct T<S: Simd>([S::Lane; S::SIZE]);
| ^^^^^^^^^^^^^^^^^^^^^
error: unconstrained generic constant
--> $DIR/array-trait.rs:23:23
|
LL | #[derive(Copy, Clone)]
| ----- in this derive macro expansion
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
Some errors have detailed explanations: E0077, E0382.
For more information about an error, try `rustc --explain E0077`.