This error should only happen if Mercurial is buggy or the file is corrupted.
It indicates for example that:
- A part of the file refers to another part, and the byte offset or item count would cause reading out of bounds, beyond the end of the file.
- The byte for an entry state has an invalid value
When parsing becomes lazy, many more functions will return a Result with
this error. Making it zero-size reduces the work that the ? operator needs
to do to pass around the error value.