Skip to content

v0.0.7

Latest
Compare
Choose a tag to compare
@y86-dev y86-dev released this 10 Apr 08:26
· 43 commits to main since this release

Added

  • Zeroable derive macro
  • ..Zeroable::zeroed() tail expression support in [try_][pin_]init! macros: allowed to omit
    fields, omitted fields are initialized with 0
  • [pin_]chain functions to modify a value after an initializer has run
  • [pin_]init_array_from_fn to create impl [Pin]Init<[T; N], E> from a generator closure
    fn(usize) -> impl [Pin]Init<T, E>
  • impl Zeroable for UnsafeCell

Changed

  • PinInit is now a supertrait of Init (before there was a blanket impl)

Removed

  • coverage workflow and usage of #[feature(no_coverage)]
  • impl Zeroable for Infallible (see Security)

Fixed

  • Self in generic bounds on structs with #[pin_data]
  • const generic default parameter values can now be used on structs with #[pin_data]

Security

  • impl Zeroable for Infallible (#13) it was possible to trigger UB by creating a value of type
    Box<Infallible> via Box::init(zeroed())

Full Changes: v0.0.6...v0.0.7