The standard section array.zero requires the return value of begin() and end() methods of a zero-sized array to be unique. Eric Fiselier clarifies: "That unique value cannot be null, and must be properly aligned". This patch adds checks for the first part of this clarification: unique value returned by these methods cannot be null.
Comparing the iterator to nullptr assumes the iterators to be pointers, which I don't think is required. They're only required to be contiguous iterators.