BREAKING CHANGES: The parser will now return an error if it encounters a duplicate attribute in a HCL body. Furthermore, the Message variant of the Error type was changed from Message { msg: String, location: Option<Location> } to Message(String) and the Location type was removed from the error module. Use the location() method of the error wrapped by the new Error::Parse variant to get access to the location where the parser failed.
The old pest parser was replaced by the winnow-based parser that is used by hcl-edit. There's only one HCL parser implementation that needs to be maintained now.
The hcl-edit parser is more correct and also over 100% faster than the old pest-based implementation.
As a nice side effect, this decreases the number of transitive dependencies for the hcl-rs crate as well.
BREAKING CHANGES: The parser will now return an error if it encounters a duplicate attribute in a HCL body. Furthermore, the
Message
variant of theError
type was changed fromMessage { msg: String, location: Option<Location> }
toMessage(String)
and theLocation
type was removed from theerror
module. Use thelocation()
method of the error wrapped by the newError::Parse
variant to get access to the location where the parser failed.The old
pest
parser was replaced by thewinnow
-based parser that is used byhcl-edit
. There's only one HCL parser implementation that needs to be maintained now.The
hcl-edit
parser is more correct and also over 100% faster than the oldpest
-based implementation.As a nice side effect, this decreases the number of transitive dependencies for the
hcl-rs
crate as well.