I just had a look into the crates simd and simdty and wondered why they had chosen to use tupels like that:
struct u32x4(u32, u32, u32, u32);
Wouldn’t a newtype or type alias like
struct u32x4([u32; 4]);
or
type u32x4 = [u32; 4];
be more convenient? You could use indexing, transmuting, iterating, slicing, whatever. And - AFAIK - the internal representation is clearly defined (is it?). Or are there simd types with mixed content?
Edit: as @sfackler pointed out, a type alias wouldn’t allow alignment rules solely for the usage as a simd type.