pub type Err<'a, E = Error<'a>> = Err<E>;
enum Err<'a, E = Error<'a>> { Incomplete(Needed), Error(E), Failure(E), }
There was not enough data
The parser had an error (recoverable)
The parser had an unrecoverable error: we got to the right branch and we know other branches won’t work, so backtrack as fast as possible