Use Cell::take in a couple places
This commit is contained in:
parent
f121f094fe
commit
4ea83bfb3d
4 changed files with 4 additions and 4 deletions
|
|
@ -23,5 +23,5 @@ pub fn foo() {
|
|||
pub fn foo() -> usize {
|
||||
use std::cell::Cell;
|
||||
thread_local!(static A: Cell<Vec<u32>> = Cell::new(Vec::new()));
|
||||
A.try_with(|x| x.replace(Vec::new()).len()).unwrap_or(0)
|
||||
A.try_with(|x| x.take().len()).unwrap_or(0)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ struct MyType<'a>(Cell<Option<&'a mut MyType<'a>>>, PhantomPinned);
|
|||
impl<'a> Clone for &'a mut MyType<'a> {
|
||||
//~^ ERROR E0751
|
||||
fn clone(&self) -> &'a mut MyType<'a> {
|
||||
self.0.replace(None).unwrap()
|
||||
self.0.take().unwrap()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ struct MyType<'a>(Cell<Option<&'a mut MyType<'a>>>, PhantomPinned);
|
|||
impl<'a> DerefMut for &'a MyType<'a> {
|
||||
//~^ ERROR E0751
|
||||
fn deref_mut(&mut self) -> &mut MyType<'a> {
|
||||
self.0.replace(None).unwrap()
|
||||
self.0.take().unwrap()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue