Version 0.10.0 #156
jam1garner
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Breaking changes
The
read_bytes
helper, deprecated since 0.2.0, has been removed. UseVec<u8>
directly.The
NullString
andNullWideString
APIs have been rewritten to use only standard Rust traits:T::from_string(s)
From<String>
orFrom<&str>
s.into_string()
s.to_string()
orDisplay
traits.into_string_lossless()
TryFrom<T> for String
traitTwo
BinWrite
API functions have been renamed for consistency with theBinRead
API:BinWrite::write_to(...)
BinWrite::write(...)
BinWrite::write_with_args(...)
BinWrite::write_args(...)
New features
BufReader
wrapper significantly improves performance when reading from non-memory streams (Add BufReader wrapper with performance enhancements #141)NoSeek
wrapper enables reading and writing non-seekable streams (Remove hard-dependency on Seek #6, Add NoSeek wrapper type for io::Read -> io::Read + io::Seek #78)BinRead
,BinWrite
, andFilePtr
(NonZeroXXX integers #134)Enhancements
binread
,binrw
, andbinwrite
attributes are now also part of the binrw preludeVec<u32>
) (Performance:binrw
very slow when parsingVec<i8>
#129)if
directive is now also supported in#[bw]
attributes (Addbw(if(expr))
andbrw(if(expr))
to skip writing conditionally #113, Implementif
directive for writes #146)Clone
count
andargs
are incorrectly combined, or when passing the wrong type toargs
(br(count = ...)
conflicts withbr(args(...))
#112)no_std
implementations of theRead
andWrite
traits to improve feature parity with thestd
implementationsDebug
implementations ofNullString
andNullWideString
no longer allocate memoryVecArgs
#75, Improve documentation forBinrwNamedArgs
#76, Documentation improvements #103, Basic performance documentation #142)Bug fixes
try_map = {closure}
on a struct now generates valid codeargs
directives now point to the correct location of the problemimpl BinWrite for Box<[u8]>
is now actually selected by the compiler#![deny(missing_docs)]
#124)binrw::args!
NullString
andWideNullString
types are now correctly marked withEq
BinWrite
on unit structs no longer causes a panicpre_assert
directives now correctly apply to unit enum valuesThis discussion was created from the release Version 0.10.0.
Beta Was this translation helpful? Give feedback.
All reactions