diff options
author | 2017-04-21 14:56:15 +0200 | |
---|---|---|
committer | 2017-04-21 14:56:15 +0200 | |
commit | 8547ef73f39ec7ca533461284f5cd779db747b76 (patch) | |
tree | 19c11bb7624c411b137183afdb7f7de9559df6c3 | |
parent | 9ede9215c27c12bec08dc96023ab9c1d0509057e (diff) | |
download | rtic-next_claim_failed.tar.gz rtic-next_claim_failed.tar.zst rtic-next_claim_failed.zip |
claim_mut with Rust borrow checknext_claim_failed
-rw-r--r-- | src/lib.rs | 13 |
1 files changed, 6 insertions, 7 deletions
@@ -434,7 +434,6 @@ where /// Nem attempt use core::cell::RefCell; -use core::cell::RefMut; //use core::borrow::BorrowMut; /// A resource @@ -556,17 +555,17 @@ impl<T, CEILING> ResRef<T, C<CEILING>> { basepri_max::write(<CEILING>::hw()); barrier!(); - let r: &RefCell<T> = &*self.data.get(); - let rr: RefCell<T> = *r; - let mut rm: RefMut<T> = rr.borrow_mut(); - let mut t: T = *rm; - let ret = f(&mut t, &C { _marker: PhantomData }); + let a = &*self.data.get(); + let mut am = a.borrow_mut(); + let ret = f(&mut am, &C { _marker: PhantomData }); barrier!(); basepri::write(old_basepri); ret } else { - panic!(""); + let a = &*self.data.get(); + let mut am = a.borrow_mut(); + f(&mut am, &C { _marker: PhantomData }) } } } |