pub struct Sendify<T> { /* private fields */ }
Implementations§
Source§impl<T> Sendify<T>
impl<T> Sendify<T>
Sourcepub unsafe fn unwrap<'a>(self) -> &'a T
pub unsafe fn unwrap<'a>(self) -> &'a T
Unwraps the immutable reference. Make sure the reference is still valid while unwrapping it.
Examples found in repository?
examples/test.rs (line 10)
3fn main() {
4 let data = "my string".to_owned();
5
6 let ref_val = &data;
7 let sendify_val = sendify::wrap(ref_val);
8
9 thread::spawn(move || {
10 let ref_val = unsafe { sendify_val.unwrap() };
11 println!("{}", ref_val);
12 })
13 .join()
14 .unwrap();
15
16 println!("My data: {}", data);
17}
More examples
examples/example.rs (line 13)
3fn main() {
4 let data = "my string".to_owned();
5
6 let ref_val = &data;
7 // Wrap the reference to make it Send + Sync.
8 let sendify_val = sendify::wrap(ref_val);
9
10 thread::spawn(move || {
11 // Unwrap the reference, here make sure that reference is still valid otherwise
12 // the app might crash.
13 let ref_val = unsafe { sendify_val.unwrap() };
14 println!("{}", ref_val);
15 })
16 .join()
17 .unwrap();
18
19 println!("My data: {}", data);
20}
Trait Implementations§
impl<T: Send + 'static> Send for Sendify<T>
impl<T: Sync + 'static> Sync for Sendify<T>
Auto Trait Implementations§
impl<T> Freeze for Sendify<T>
impl<T> RefUnwindSafe for Sendify<T>where
T: RefUnwindSafe,
impl<T> Unpin for Sendify<T>
impl<T> UnwindSafe for Sendify<T>where
T: RefUnwindSafe,
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