What dynamic check? Is that in relation to what Jordan wrote? Could the loop be changed to always go by for i in ..< count instead of while pointer < stop { ... pointer++ }.
AFAIU for C++ it's important to maintain identity of elements, there it would be bad if &a[0] == &a[1]. Equally in Swift it would be bad for reference types to be of a stride 0, but that's impossible anyway (there are at one or two words of overhead in class bodies for ISA, etc).