0.10.0
Change Log
[0.10.0] - 2025-09-25
New
-
New delegations of standard-library traits to
MemCase
; in particular,
AsRef
andDeref
are back, but with a slightly different semantics, as
the implementationDeref
forMemCase<S>
has target
S::DeserType<_>::Target
, and analogously forAsRef
. -
New strategy for
MemCase::encase
, which uses a transparent wrapperOwned
to bring back the original functionality. -
New
SerType
type alias, analogous toDeserType
. -
Major internal code restructuring:
TypeHash
/AlignHash
/MaxSizeOf
are now
computed on the serialization type, not on the serializable type. -
New convenience serialization implementation for
&str
, in the same vain as
that for&[T]
.
Changed
-
Major disruptive change: vectors and boxed slices have now the same
serialization type. This makes them interchangeable at will in
(de)serialization, which is an extremely useful feature. Unfortunately, old
instances with replaceable type parameters whose concrete type is a vector
will no longer be deserializable. The same happens forString
and
Box<str>
. -
CopyType
is now unsafe as there is no way to check a type contains
no references. -
repr
attributes are now sorted lexicographically. This change was
necessary as the order of such attributes is irrelevant, but it might make
impossible to deserialize old instances whose type specifiesrepr
attributes
in a different order. -
A few
TypeHash
/AlignHash
implementation that were not really necessary
have been removed.
Fixed
- The
nostd
feature now works.