All notable changes to shared_cell
will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Split out
compile_fail
example forSharedCell
docs SharedCell::into_inner()
is no longer unsafe (with additional invariant onSharedCell::duplicate()
)- Clarify
SharedCell::into_inner()
docs - Other various docs improvements
- Typo in
SharedCell::into_inner()
docs
TaskGroup::finish()
methodTaskGroup::cancel()
methodShared
type alias
TaskGroup::advance()
method now implements very basic "fairness"TaskGroup
has an additional generic parameter for the return type of a task. This is now returned byTaskGroup::advance()
SharedCell::with()
now takes a mutable reference
TaskGroup::into_inner()
method; UseTaskGroup::finish()
orTaskGroup::cancel()
instead
SharedCell::duplicate()
methodSharedCell::into_inner()
methodTaskGroup::advance()
methodTaskGroup::is_empty()
methodTaskGroup::into_inner()
methodshared_cell::spawn!()
macro
- Made
SharedCell::new()
safe SharedCell::with()
now takes a pinned mutable referenceSharedCell
is now!Send
and!Unpin
TaskGroup::new()
now takes a mutable reference instead of aSharedCell
TaskGroup::spawn()
is now unsafe, and the closure now takes ownership of theSharedCell
shared_cell!()
macroSharedCell::with_unchecked()
methodTaskGroup::tasks()
methodTaskGroup::shared_cell()
method
- More (hopefully all remaining) unsoundness corner-case issues
shared_cell!()
macroSharedCell
typenew()
associated functionwith()
methodwith_unchecked()
method
CellExt
trait
TaskGroup::new()
now takes&'a SharedCell<'a, T>
- Renamed
TaskGroup::shared()
toTaskGroup::shared_cell()
, and changed return type to&'a SharedCell<'a, T>
- Unsoundess issues brought up at https://users.rust-lang.org/t/announcing-shared-cell-an-additional-cell-api-with-zero-cost-concurrent-data-sharing-in-single-threaded-asynchronous-code/98342
- Mistakes in README
CellExt
extension traitwith()
method
TaskGroup
struct (enabled withalloc
trait)new()
associated functionspawn()
methodtasks()
methodshared()
method