Diffstat (limited to 'src/hkt.rs')
| -rw-r--r-- | src/hkt.rs | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -41,6 +41,26 @@ impl<'a> CovariantLt<'a> { #[repr(transparent)] pub struct Marker<T: ?Sized>(PhantomData<fn() -> *const T>); +impl<T: ?Sized> Marker<T> { + pub const NEW: Self = Self(PhantomData); +} + +#[derive(Debug, Default, Copy, Clone, SendSync)] +#[repr(transparent)] +pub struct BorrowsCtx<'lt, 'ctx>(PhantomData<&'lt &'ctx ()>); + +impl<'lt, 'ctx> BorrowsCtx<'lt, 'ctx> { + pub const NEW: Self = Self(PhantomData); +} + +#[derive(Debug, Default, Copy, Clone, SendSync)] +#[repr(transparent)] +pub struct ImpliedBound<'short, 'long>(PhantomData<&'short &'long ()>); + +impl<'short, 'long> ImpliedBound<'short, 'long> { + pub const NEW: Self = Self(PhantomData); +} + impl<T: ?Sized> Copy for Marker<T> {} impl<T: ?Sized> Clone for Marker<T> { fn clone(&self) -> Self { |