as it's easier to deal with TSAN false positives in the former API
as surfaced in PR 280 the current supression rules don't handle newer versions of the
scoped_threadpool crate
trying to update the supression rules related to scoped_threadpool in PR #282 revealed that the
supression rules are masking (hiding) real data races:
https://github.com/japaric/heapless/pull/282#issuecomment-1113173358
std:🧵:scope requires less supression rules and does not mask real data races -- for instance,
the data race in the linked issue comment is not masked when using std:🧵:scope
tradeoffs:
- pro: one less dev dependency
- pro: supressions file is simpler
- cons: std:🧵:scope is only available on recent nightlies
There's a few tests that do millions of iterations. Miri is incredibly
slow and takes too long to run these (I gave up waiting after 5+ minutes),
so we ignore them when testing with miri.
This commit implements a new, simplified, SPSC that does not have the
reported issues (e.g. not properly wrapping the indexes for non
powers-of-2), and the support for multiple different index sizes has
been removed for simplicity.
vec passes tests
vec passes tests with docs as well (besides one with FromIter)
vec passes tests with docs as well (besides one with FromIter)
exposing full API
passing all current tests
starting with string
string test passes mostly
string test passes
ufmt passes
TODO removed
binary_heap wip
binary_heap passes tests
sealed passes
spsc wip
spsc wip2
split wip3
spcs and split passes --lib tests
spcs and split passes --lib tests
spcs and split passes --lib tests
spcs and split passes all tests (doc + lib)
indexmap wip
indexmap passes --lib test
indexmap passes all tests (lib + doc)
indexset passes all tests (lib + doc)
indexset passes all tests (lib + doc)
linear map wip
linear map all test (lib + doc) passes, drop not tested, into_iter(mut self) not implemented
history buffer all test pass (doc + lib), Copy instead of clone atm
serde does not work
pool works, serde still not
serde wip
serde wip
serde wip
serde wip