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 17)
15fn bar() {
16 let mut bar = Foo { text: "good bye".to_string() };
17 let guard = CurrentGuard::new(&mut bar);
18 print_foo();
19 print_foo();
20 drop(guard);
21}
22
23fn main() {
24 let mut foo = Foo { text: "hello".to_string() };
25 {
26 let guard = CurrentGuard::new(&mut foo);
27 print_foo();
28 print_foo();
29 bar();
30 drop(guard);
31 }
32 foo.text = "hi!".to_string();
33}
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