]>
git.proxmox.com Git - rustc.git/blob - src/test/ui/simd/simd-array-trait.rs
1 // Figuring out the size of a vector type that depends on traits doesn't ICE
5 // pretty-expanded FIXME #23616
7 #![feature(repr_simd, platform_intrinsics, generic_const_exprs)]
8 #![allow(non_camel_case_types, incomplete_features)]
11 type Lane
: Clone
+ Copy
;
18 const SIZE
: usize = 4;
22 #[derive(Copy, Clone)]
23 pub struct T
<S
: Simd
>([S
::Lane
; S
::SIZE
]);
24 //~^ ERROR unconstrained generic constant
26 extern "platform-intrinsic" {
27 fn simd_insert
<T
, E
>(x
: T
, idx
: u32, y
: E
) -> T
;
28 fn simd_extract
<T
, E
>(x
: T
, idx
: u32) -> E
;
32 let mut t
= T
::<i32x4
>([0; 4]);
35 t
= simd_insert(t
, i
as u32, i
);
38 assert_eq
!(i
, simd_extract(t
, i
as u32));