about summary refs log tree commit diff
path: root/tests/ui/simd/array-trait.stderr
blob: bbaead569dfc42b93f89c2f38fbf4966c0bf01ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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`.