Due to an old Rust bug, rust-lang/rust#24159, many parsers included an extraneous trait bound for Input::Error as a workaround. That bug has been closed since February 2021, and the workaround is no longer needed.
There are a few places I did NOT remove Input::Error bound from the where clause, which would be nice to eliminate but I think may be required:
stream/position.rs requires it to specify the StreamError associated type in the Positioned and StreamOnce implementations.
stream/easy.rs similarly requires it to specify StreamError in the docs example
parser/combinator.rs requires Into<...::StreamError> for the error generic in its AndThen struct
src/lib.rs has similar awkward boilerplate for ...:StreamError: From<ParseIntError> in its docs examples
Due to an old Rust bug, rust-lang/rust#24159, many parsers included an extraneous trait bound for Input::Error as a workaround. That bug has been closed since February 2021, and the workaround is no longer needed.
There are a few places I did NOT remove
Input::Error
bound from thewhere
clause, which would be nice to eliminate but I think may be required:StreamError
associated type in thePositioned
andStreamOnce
implementations.StreamError
in the docs exampleInto<...::StreamError>
for the error generic in itsAndThen
struct...:StreamError: From<ParseIntError>
in its docs examples