AtomicI8
,AtomicI16
,AtomicI32
,AtomicI64
, andAtomicIsize
(#189)
- Bump MSRV to
1.45
(#183)
thread::Thread
andthread::ThreadId
(#175)
- An example in the README failing to compile (#132)
- Updated
scoped-tls
to 1.0.0 (#153)
Send
andSync
impls forJoinHandle
(#145)Default
impls forMutex
,RwLock
, andCondvar
(#138)
RwLock
bug with activating threads (#140)
RwLock
bug with two writers (#135).
- incorrect location tracking for some atomic types (#122).
lazy_static
support (#125 + #128)mpsc
channel support (#118)
UnsafeCell
false negative under some scenarios (#119).
RwLock
support (#88)- location tracking to atomic types (#114).
CausalCell
is renamedUnsafeCell
Atomic*::get_mut()
is removed in favor ofwith
andwith_mut
fns.- The max threads setting is removed.
- Atomic coherence checking better matches the spec.
- Models execute much faster
- Loom types are able to perform location tracking for improved error output.
- avoid global happens-before with
SeqCst
ordering (#108).
- internal
async/await
Waker leak (#102).
- speed up model runs (#98, #94)
Send
impl forAtomicWaker
,Atomic*
AtomicWaker::take_waker
(#103).
- update
futures
to 0.3.0 final release (#96).
- thread-local bug when using loom with
--release
(#89). - omitted state explorations when using SeqCst atomic values (#90).
Mutex::try_lock
(#83).- stubbed
Condvar::wait_timeout
(#86).
alloc_zeroed
(#77).AtomicPtr::get_mut
(#80).
thread_local
initialization & dropping with loom primitives (#74).
- Basic leak checking (#73).
Arc::get_mut
(#74).- mocked
thread::Builder
(#74).
- Update futures-util dependency version (#70).
CausalCell
state was updated even when a deferred check was abandoned (#65).- Add
yield_now
inAtomicWaker
when entering a potential spin lock due to task yielding (#66).
futures::block_on
polls spuriously (#59).- mocked types match
std
forSend
andSync
(#61).
fetch_xor
for atomic numbers (#54).- initial
atomic::fence
support (#57). Notify
primitive for writing external mocked types (#60).thread_local!
macro that works with loom threads (#62).- API for deferring
CausalCell
causality checks (#62).
- implement
Default
for atomic types (#48).
- only unblock future thread when notified using waker (#44).
CausalCell
failed to detect concurrent immutable/mutable access (#42).
- incorrect causality comparison (#38).
- detect race with CausalCell accessed immediately post spawn (#38).
- implementation of all atomic numeric types (#30).
AtomicBool
(#39).Condvar::notify_all
(#40).
- Update futures-util dependency version (#35).
sync::Arc
implementation (#9).
sync::Arc
mock implementation (#14).AtomicU32
(#24).Atomic::unsync_load
- load from an atomic without synchronization (#26).- thread preemption bounding.
- remove scheduler implementation choices -- generator only (#23).
- use
std::future
(#20).
sync::Arc
implementation (#9).
- Initial release