Diffstat (limited to 'src/protocol/visitor/recoverable.rs')
-rw-r--r--src/protocol/visitor/recoverable.rs37
1 files changed, 17 insertions, 20 deletions
diff --git a/src/protocol/visitor/recoverable.rs b/src/protocol/visitor/recoverable.rs
index 9f67c22..00eaad4 100644
--- a/src/protocol/visitor/recoverable.rs
+++ b/src/protocol/visitor/recoverable.rs
@@ -21,20 +21,19 @@ pub trait Recoverable<'ctx, E: Effect> {
pub struct RecoverableProto<E: Effect>(Marker<E>);
-higher_ranked_type! {
- impl TypeName {
- impl['a, 'ctx, E] type T['a, 'ctx] for RecoverableProto<E> =
- dyn Recoverable<'ctx, E> + Send + Sync + 'a
- where {
- E: Effect
- };
+impl<'a, 'ctx, E> TypeName::MemberTypeForLt<'a, 'ctx, &'a &'ctx ()> for RecoverableProto<E>
+where
+ E: Effect,
+{
+ type T = dyn Recoverable<'ctx, E> + Send + Sync + 'a;
+}
- impl['a, 'ctx, E] type HigherRanked['a, 'ctx] for dyn Recoverable<'ctx, E> + Send + Sync + 'a =
- RecoverableProto<E>
- where {
- E: Effect
- };
- }
+impl<'a, 'ctx, E> TypeName::LowerTypeWithBound<'a, 'ctx, &'a &'ctx ()>
+ for dyn Recoverable<'ctx, E> + Send + Sync + 'a
+where
+ E: Effect,
+{
+ type Higher = RecoverableProto<E>;
}
pub trait RecoverableScope<'ctx, E: Effect> {
@@ -49,14 +48,12 @@ pub type DynRecoverableScope<'a, 'ctx, E> =
pub struct RecoverableKnown;
-higher_ranked_type! {
- impl Meta {
- impl['a, 'ctx] type T['a, 'ctx] for RecoverableKnown =
- RecoverableKnown;
+impl<'a, 'ctx> Meta::MemberTypeForLt<'a, 'ctx, &'a &'ctx ()> for RecoverableKnown {
+ type T = RecoverableKnown;
+}
- impl['a, 'ctx] type HigherRanked['a, 'ctx] for RecoverableKnown =
- RecoverableKnown;
- }
+impl<'a, 'ctx> Meta::LowerTypeWithBound<'a, 'ctx, &'a &'ctx ()> for RecoverableKnown {
+ type Higher = RecoverableKnown;
}
impl<E: Effect> HintMeta for RecoverableProto<E> {