Implement Clone for Buffer and use Arc::make_mut

This commit is contained in:
Jeremy Soller 2023-12-19 15:58:45 -07:00
parent 0a11fb1045
commit 46d60a3723
4 changed files with 21 additions and 10 deletions

View file

@ -176,11 +176,7 @@ pub trait Edit<'buffer> {
match self.buffer_ref_mut() {
BufferRef::Owned(buffer) => f(buffer),
BufferRef::Borrowed(buffer) => f(buffer),
BufferRef::Arc(arc) => match Arc::get_mut(arc) {
Some(buffer) => f(buffer),
//TODO: use make_mut?
None => panic!("BufferRef::Arc cannot be accessed mutibly"),
},
BufferRef::Arc(buffer) => f(Arc::make_mut(buffer)),
}
}