wasmtime_bench_api/
unsafe_send_sync.rs

1#[derive(Clone, Copy)]
2pub struct UnsafeSendSync<T>(T);
3
4impl<T> UnsafeSendSync<T> {
5    /// Create a new `UnsafeSendSync` wrapper around the given value.
6    ///
7    /// The result is a type that is `Send` and `Sync` regardless of whether `T:
8    /// Send + Sync`, so this constructor is unsafe.
9    pub unsafe fn new(val: T) -> Self {
10        UnsafeSendSync(val)
11    }
12
13    pub fn get(&self) -> &T {
14        &self.0
15    }
16}
17
18unsafe impl<T> Send for UnsafeSendSync<T> {}
19unsafe impl<T> Sync for UnsafeSendSync<T> {}