Breaking changes
Parser
now requires BufRead
rather than Read
. This was already a practical requirement, given that it would have performed abysmally doing a syscall per byte if passed an unwrapped File
.
- Added
#[non_exhaustive]
on Scope
, Var
, and ScopeItem
.
- Added
Vector
type instead of using Vec<Value>
. This is currently just a wrapper, but may be replaced with a faster bit vector in the future.
- Replaced
InvalidData
error type with ParseError
and individual error types for FromStr
implementations.
- Removed
Header::comment
field -- comments are now in items
for consistency with child scopes and to allow multiple comments.
- Renamed
Scope::children
to items
for consistency with Header
and ScopeItem
.
- Changed
ReferenceIndex
fields from u32
to i32
.
Fixes
- Allow
Header::find_var
to find variables not under a scope.
Additions
- Track line number for error messages.
- Support
$comment
in scopes.
- Add access to the underlying
io::BufRead
on Parser
.
- Add access to the underlying
io::Write
on Writer
.
- Allow negative reference indexes.
- Improved documentation.
Contributors
@kevinmehall @programmerjake @five-elephants