chomp v0.2.0 Release Notes

Release Date: 2015-12-16 // over 8 years ago
  • โž• Added

    • ๐Ÿ“œ parse_only: Runs a given parser on a finite input.
    • ๐Ÿ“œ combinators::bounded::many: combinator applying a parser within a range bound, storing the data in a T: FromIterator.
    • ๐Ÿ“œ combinators::bounded::skip_many: combinator applying a parser within a range bound, throwing away all produced data.
    • ๐Ÿ“œ combinators::bounded::many_till: combinator applying a parser within a range bound until a second parser succeeds. If the second parser does not succeed within the given range the parsing will fail. The matches from the first parser will be stored in a T: FromIterator.

    ๐Ÿ”„ Changes

    • count, many1, sep_by1 now properly uses Iterator::size_hint
    • Backwards-incompatible: many, many1, sep_by, sep_by1, skip_many, skip_many1 are no longer considered incomplete if they end with a partial match as long as they have managed to satisfy the minimum count of matches.
    • Backwards-incompatible: buffer::ParseError has been renamed to buffer::StreamError to not conflict with the simple ParseError.
    • Slightly improved performance for count, many, many1, sep_by, sep_by1.

    ๐Ÿ—„ Deprecated

    • Input::new

    Use parse_only or buffer::SliceStream to parse a slice instead. For any advanced usage create an Input using primitives::input::new.

    • ๐Ÿ“œ ParseResult::unwrap, ParseResult::unwrap_err, ParseResult::expect

    Use parse_only or the buffer::Stream implementations to obtain a Result instead of acting on the ParseResult directly.