5.4 KiB
5.4 KiB
Changelog
Unreleased
1.16.0
- Add
no_stdimplementation based oncritical-section, #195. - Deprecate
atomic-polyfillfeature (use the newcritical-sectioninstead)
1.15.0
- Increase minimal supported Rust version to 1.56.0.
- Implement
UnwindSafeeven if thestdfeature is disabled.
1.14.0
- Add extension to
unsyncandsyncLazymut API:force_mutget_mut
1.13.1
- Make implementation compliant with strict provenance.
- Upgrade
atomic-polyfillto1.0
1.13.0
- Add
Lazy::get, similar toOnceCell::get.
1.12.1
- Remove incorrect
debug_assert.
1.12.0
- Add
OnceCell::wait, a blocking variant ofget.
1.11.0
- Add
OnceCell::with_valueto create initializedOnceCellinconstcontext. - Improve
Cloneimplementation forOnceCell. - Rewrite
parking_lotversion on top ofparking_lot_core, for even smaller cells!
1.10.0
- upgrade
parking_lotto0.12.0(note that this bumps MSRV withparking_lotfeature enabled to1.49.0).
1.9.0
- Added an
atomic-polyfilloptional dependency to compileraceon platforms without atomics
1.8.0
- Add
try_insertAPI -- a version ofsetthat returns a reference.
1.7.2
- Improve code size when using parking_lot feature.
1.7.1
- Fix
race::OnceBox<T>to also implDefaulteven ifTdoesn't implDefault.
1.7.0
- Hide the
racemodule behind (default)racefeature. Turns out that addingraceby default was a breaking change on some platforms without atomics. In this release, we make the module opt-out. Technically, this is a breaking change for those who useracewithno_default_features. Given that theracemodule itself only several days old, the breakage is deemed acceptable.
1.6.0
- Add
Lazy::into_value - Stabilize
once_cell::racemodule for "first one wins" no_std-compatible initialization flavor. - Migrate from deprecated
compare_and_swaptocompare_exchange.
1.5.2
OnceBoxAPI usesBox<T>. This a breaking change to unstable API.
1.5.1
- MSRV is increased to
1.36.0. - document
once_cell::racemodule. - introduce
allocfeature forOnceBox. - fix
OnceBox::set.
1.5.0
- add new
once_cell::racemodule for "first one wins" no_std-compatible initialization flavor. The API is provisional, subject to change and is gated by theunstablecargo feature.
1.4.1
- upgrade
parking_lotto0.11.0 - make
sync::OnceCell<T>pass https://doc.rust-lang.org/nomicon/dropck.html#an-escape-hatch[dropck] withparking_lotfeature enabled. This fixes a (minor) semver-incompatible changed introduced in1.4.0
1.4.0
- upgrade
parking_lotto0.10(note that this bumps MSRV withparking_lotfeature enabled to1.36.0). - add
OnceCell::take. - upgrade crossbeam utils (private dependency) to
0.7.
1.3.1
- remove unnecessary
F: fmt::Debugbound fromimpl fmt::Debug for Lazy<T, F>.
1.3.0
Lazy<T>now implementsDerefMut.- update implementation according to the latest changes in
std.
1.2.0
- add
sync::OnceCell::get_unchecked.
1.1.0
- implement
DefaultforLazy: it creates an emptyLazy<T>which is initialized withT::defaulton first access. - add
OnceCell::get_mut.
1.0.2
- actually add
#![no_std]attribute if std feature is not enabled.
1.0.1
- fix unsoundness in
Lazy<T>if the initializing function panics. Thanks @xfix! - implement
RefUnwindSafeforLazy. - share more code between
stdandparking_lotimplementations. - add F.A.Q section to the docs.
1.0.0
- remove
parking_lotfrom the list of default features. - add
stddefault feature. Withoutstd, onlyunsyncmodule is supported. - implement
EqforOnceCell. - fix wrong
Syncbound onsync::Lazy. - run the whole test suite with miri.
0.2.7
- New implementation of
sync::OnceCellifparking_lotfeature is disabled. It now employs a hand-rolled variant ofstd::sync::Once. sync::OnceCell::get_or_try_initworks withoutparking_lotas well!- document the effects of
parking_lotfeature: same performance but smaller types.
0.2.6
- Updated
Lazy'sDerefimpl to requires onlyFnOnceinstead ofFn
0.2.5
Lazyrequires onlyFnOnceinstead ofFn
0.2.4
- nicer
fmt::Debugimplementation
0.2.3
- update
parking_lotto0.9.0 - fix stacked borrows violation in
unsync::OnceCell::get - implement
Cloneforsync::OnceCell<T> where T: Clone
0.2.2
- add
OnceCell::into_innerwhich consumes a cell and returns an option
0.2.1
- implement
sync::OnceCell::get_or_try_initifparking_lotfeature is enabled - switch internal
unsafeimplementation ofsync::OnceCellfromOncetoMutex sync::OnceCell::get_or_initis twice as fast if cell is already initialized- implement
std::panic::RefUnwindSafeandstd::panic::UnwindSafeforOnceCell - better document behavior around panics
0.2.0
- MSRV is now 1.31.1
Lazy::newandOnceCell::neware now const-fnsunsync_lazyandsync_lazymacros are removed
0.1.8
- update crossbeam-utils to 0.6
- enable bors-ng
0.1.7
- cells implement
PartialEqandFrom - MSRV is down to 1.24.1
- update
parking_lotto0.7.1
0.1.6
unsync::OnceCell<T>isCloneifTisClone.
0.1.5
- No changelog until this point :(