lockless 0.2.0

Composable, lock-free, allocation-light data structures
Documentation
1
2
3
4
5
6
7
use std::marker::PhantomData;

pub struct InvariantInner<T: ?Sized>(*mut T);
unsafe impl<T: ?Sized> Send for InvariantInner<T> {}
unsafe impl<T: ?Sized> Sync for InvariantInner<T> {}

pub type Invariant<T> = PhantomData<InvariantInner<T>>;