feat: add qcell

This commit is contained in:
2022-02-03 22:02:18 +08:00
parent 315ccf100e
commit aca23fa6fd
3 changed files with 51 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
use std::rc::Rc;
use qcell::{QCell, QCellOwner};
// https://docs.rs/qcell/latest/qcell/
fn main() {
let mut owner = QCellOwner::new();
let item = Rc::new(QCell::new(&owner, Vec::<u8>::new()));
let iref = owner.rw(&item);
// test(&mut owner, &item); // Compile error
iref.push(1);
fn test(owner: &mut QCellOwner, item: &Rc<QCell<Vec<u8>>>) {
owner.rw(&item).push(2);
}
}