We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SharedPointer<T, P>: {Send,Sync}
T: Send + Sync
The following program should fail to compile, but it doesn't and crashes at runtime:
use std::cell::Cell; type Arc<T> = archery::SharedPointer<T, archery::ArcK>; fn main() { let cell = Arc::new(Cell::new(None)); let jhs = [(); 2].map(|()| { let cell = Arc::clone(&cell); std::thread::spawn(move || loop { // concurrent access of a `!Sync` cell from multiple threads cell.take(); cell.set(Some(Box::new(42))); }) }); for jh in jhs { jh.join().unwrap(); } }
$ cargo run --release --quiet free(): unaligned chunk detected in tcache 2 fish: Job 1, 'cargo run --release' terminated by signal SIGABRT (Abort)
The text was updated successfully, but these errors were encountered:
SharedPointer<T, _>: {Send,Sync}
Wow. Thanks for finding and fixing this. Merged.
Sorry, something went wrong.
Update archery fixing a soundness bug.
a6d867e
See orium/archery#18.
Successfully merging a pull request may close this issue.
The following program should fail to compile, but it doesn't and crashes at runtime:
The text was updated successfully, but these errors were encountered: