| Crates.io | unique-rc |
| lib.rs | unique-rc |
| version | 0.2.4 |
| created_at | 2025-06-02 23:11:21.036779+00 |
| updated_at | 2025-07-11 03:32:30.169128+00 |
| description | Unique owner Rc, like Box, can Send and DerefMut |
| homepage | |
| repository | https://github.com/A4-Tacks/unique-rc-rs |
| max_upload_size | |
| id | 1698456 |
| size | 27,110 |
Unique owner Rc, like Box, can Send and DerefMut
use std::{rc::Rc, thread::spawn};
use unique_rc::UniqRc;
let rc = Rc::new("foo".to_owned());
let weak = Rc::downgrade(&rc);
assert_eq!(weak.upgrade(), Some(Rc::new("foo".to_owned())));
let urc = UniqRc::new(rc);
spawn(move || {
assert_eq!(*urc, "foo");
}).join().unwrap();
assert_eq!(weak.upgrade(), None);
Like a Box, DerefMut
use unique_rc::UniqRc;
let mut unique_rc = UniqRc::new_value(3);
*unique_rc += 1;
assert_eq!(*unique_rc, 4);