Potentially relevant is this section of the repo's README:
https://github.com/dikaiosune/rusl#goals-and-non-goals
EDIT: After a suggestion in a sibling here, here's a version which neither explicitly aborts (musl doesn't do abort or unreachable), nor uses an explicit return of usize::MAX:
It doesn't autovectorize, but I suspect that with some work I could maybe convince LLVM to do so.