Diffstat (limited to 'src/hkt.rs')
-rw-r--r--src/hkt.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/hkt.rs b/src/hkt.rs
index 07e603d..ec586da 100644
--- a/src/hkt.rs
+++ b/src/hkt.rs
@@ -25,6 +25,18 @@ use core::marker::PhantomData;
#[repr(transparent)]
pub struct Invariant<'a>(PhantomData<fn(&'a ()) -> &'a ()>);
+impl<'a> Invariant<'a> {
+ pub const NEW: Self = Self(PhantomData);
+}
+
+#[derive(Debug, Default, Copy, Clone, SendSync)]
+#[repr(transparent)]
+pub struct CovariantLt<'a>(PhantomData<&'a ()>);
+
+impl<'a> CovariantLt<'a> {
+ pub const NEW: Self = Self(PhantomData);
+}
+
#[derive(SendSync)]
#[repr(transparent)]
pub struct Marker<T: ?Sized>(PhantomData<fn() -> *const T>);