Since fearless simd is approaching 1.0, I wanted to make sure it was OK that the current API is unable to support scalable vectors such as are found in ARM's SVE. In particular, the SimdBase trait has an associated const N: usize, which implies that the size of a given vector is known at compile time. If I understand correctly, the constant N would need to be changed to fn n() -> usize since the size of a theoretical u8xdyn type would not be known to the compiler. There might be other issues too. I have not done a thorough examination.
Right now a u8xdyn type can't be implemented because the Sized Hierarchy traits would need to be stabilized, so this could be pushed off to a version 2.0. However, if I understand correctly, the Sized Hierarchy traits are blocked on const traits which are blocked on the new trait solver. The tracking issue for the new trait solver says that it will be enabled by default on nightly before the next stable release. So I don't think it will take years for the Sized Hierarchy traits to be implemented. Thus it might make sense to make the breaking changes need to support such a type before 1.0 even if the type cannot be implemented yet.
Since fearless simd is approaching 1.0, I wanted to make sure it was OK that the current API is unable to support scalable vectors such as are found in ARM's SVE. In particular, the
SimdBasetrait has an associatedconst N: usize, which implies that the size of a given vector is known at compile time. If I understand correctly, the constantNwould need to be changed tofn n() -> usizesince the size of a theoreticalu8xdyntype would not be known to the compiler. There might be other issues too. I have not done a thorough examination.Right now a
u8xdyntype can't be implemented because the Sized Hierarchy traits would need to be stabilized, so this could be pushed off to a version 2.0. However, if I understand correctly, the Sized Hierarchy traits are blocked on const traits which are blocked on the new trait solver. The tracking issue for the new trait solver says that it will be enabled by default on nightly before the next stable release. So I don't think it will take years for the Sized Hierarchy traits to be implemented. Thus it might make sense to make the breaking changes need to support such a type before 1.0 even if the type cannot be implemented yet.