Diffstat (limited to 'src/protocol/visitor/recoverable.rs')
| -rw-r--r-- | src/protocol/visitor/recoverable.rs | 37 |
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> { |