Skip to content

v0.1008.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@mumbleskates mumbleskates released this 18 May 17:25
· 65 commits to bilrost since this release

v0.1008.0

Breaking changes

  • The (unstable) internal encoding traits continue to evolve, now making checks
    for whether a value decoded in distinguished mode was empty optional at the
    value-decoder trait level. It is not always faster to check emptiness while
    decoding a value, and letting the distinguished value decoder implementation
    specify whether it takes responsibility for checking emptiness enables new
    type support like better nesting of never-empty types as described below.

Fixes

  • Enumerations that do not have a defined zero value (and therefore do not have
    an "empty" state) can now be nested in fixed-size arrays as long as they are
    nested again, such as in an Option or Vec.

Cleanups

  • Renamed the NewForOverwrite value trait to ForOverwrite.
  • Restructured so that ForOverwrite is now a supertrait of EmptyState, and
    every existing implementation of EmptyState::empty defers to ForOverwrite.