Diffstat (limited to 'src/hkt.rs')
-rw-r--r--src/hkt.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/hkt.rs b/src/hkt.rs
index ec586da..30c4b4a 100644
--- a/src/hkt.rs
+++ b/src/hkt.rs
@@ -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 {