* add a fuzzing test for reference counted generational boxes
* Fix subscriptions for readonlysignal passed as props
* Don't subscribe to dropped contexts
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* Implement Rc generational pointers
* Clean up error handling a bit
* start adding tests
* Simplify a few types
* Separate Rc and normal generational boxes
* Add tests for rc drop and read
* Move over the pointer instead of the data in ReadOnlySignal props
* Fix panic on ref drop and release mode builds
* final rc signal cleanup
* use rc generational boxes for event handlers as well
* add a regression test for read only signal cloning
* merge main
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* CI: add docsrs to ci
* add env vars
* no need for tokio things
* whoops, wrong rust nightly
* add swc
* bump crate versions to 0.6.0-alpha.0
* hoist up warnings and shuffle cargo.toml
* update cargos and disable warnings from ci
* attempt fix of aws
* attempt disabling aws_lc_sys globally
* pull in lc-sys
* add fips feature to fix docs
* turn on features for aws-lc-sys on cargo-doc-all
* pass along more args
* fix cfg docs
* fix: flakey gen box test
* fix: doc_cfg in static gen
* dont include readme
* fix error on static gen
* remove random line
* temporarily disable warnings
* simplify axum desktop so it doesnt count as a lib
* fix binstall link
* bump locks
* lock fixes
* revert axum desktop
* dont publish some crates
* Fix#2612: adjust readable trait to allow try_peek
Our implementation for Readable was inconsistent.
We had a try_unchecked variant for read but not for peek.
This resolves that by making a breaking change to the
Readable interface.
* fix doctests too
* Fix generation race condition with sync storage
* Document GenerationalPointer
* check generation before recycling generational box
* fix clippy
* make race_condition_regression test panic if it fails
Replaces `RwLock::try_read` with `RwLock::read` in `SyncStorage`. This change prioritizes potential deadlocks over panics, as unwrapping a failed `try_read` is deemed less desirable.