pub struct CurrentGuard<'a, T>where
T: Any,{ /* private fields */ }
Expand description
Puts back the previous current pointer.
Implementations§
Source§impl<'a, T> CurrentGuard<'a, T>where
T: Any,
impl<'a, T> CurrentGuard<'a, T>where
T: Any,
Sourcepub fn new(val: &mut T) -> CurrentGuard<'_, T>
pub fn new(val: &mut T) -> CurrentGuard<'_, T>
Creates a new current guard.
Examples found in repository?
examples/text.rs (line 18)
16fn bar() {
17 let mut bar = Foo { text: "good bye".to_string() };
18 let guard = CurrentGuard::new(&mut bar);
19 print_foo();
20 print_foo();
21 drop(guard);
22}
23
24fn main() {
25 let mut foo = Foo { text: "hello".to_string() };
26 {
27 let guard = CurrentGuard::new(&mut foo);
28 print_foo();
29 print_foo();
30 bar();
31 drop(guard);
32 }
33 foo.text = "hi!".to_string();
34}
Trait Implementations§
Auto Trait Implementations§
impl<'a, T> Freeze for CurrentGuard<'a, T>
impl<'a, T> RefUnwindSafe for CurrentGuard<'a, T>where
T: RefUnwindSafe,
impl<'a, T> Send for CurrentGuard<'a, T>where
T: Send,
impl<'a, T> Sync for CurrentGuard<'a, T>where
T: Sync,
impl<'a, T> Unpin for CurrentGuard<'a, T>
impl<'a, T> !UnwindSafe for CurrentGuard<'a, T>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more