The type of the field in a tuple struct isn't an array when using the #[simd] attribute.
Erroneous code example:
#![allow(unused)]
#![feature(repr_simd)]
fn main() {
#[repr(simd)]
struct Bad(u16); // error!
} When using the #[simd] attribute to automatically use SIMD operations in tuple structs, if you want a single-lane vector then the field must be a 1-element array, or the compiler will trigger this error.
Fixed example:
#![allow(unused)]
#![feature(repr_simd)]
fn main() {
#[repr(simd)]
struct Good([u16; 1]); // ok!
}
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/error_codes/E0076.html