//@ run-pass #![allow(dead_code)] #![feature(repr_simd, core_intrinsics)] use std::intrinsics::simd::{simd_extract, simd_insert}; #[repr(simd)] #[derive(Copy, Clone)] struct S([i32; 4]); #[repr(simd)] #[derive(Copy, Clone)] struct T([i32; N]); pub fn main() { let mut s = S([0; 4]); unsafe { s = simd_insert(s, 3, 3); assert_eq!(3, simd_extract(s, 3)); } let mut t = T::<4>([0; 4]); unsafe { t = simd_insert(t, 3, 3); assert_eq!(3, simd_extract(t, 3)); } }