Diffstat (limited to 'src/protocol/visitor/value.rs')
| -rw-r--r-- | src/protocol/visitor/value.rs | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/protocol/visitor/value.rs b/src/protocol/visitor/value.rs index 5ab8887..dd2def1 100644 --- a/src/protocol/visitor/value.rs +++ b/src/protocol/visitor/value.rs @@ -3,11 +3,7 @@ //! In some sense, this is the most basic protocol. use effectful::{ - bound::Dynamic, - effective::Effective, - environment::{DynBind, Environment, NativeForm}, - higher_ranked::{for_lt, Rank1}, - SendSync, + bound::Dynamic, effective::{Canonical, Effective}, environment::Environment, higher_ranked::{for_lt, Rank1}, DynBind, SendSync }; use crate::{ @@ -34,7 +30,7 @@ pub trait Value<'ctx, T: ?Sized + type_name::Static, E: Environment>: DynBind<E> fn visit<'this: 'value, 'value: 'e, 'e>( &'this mut self, value: type_name::Lowered<'value, 'ctx, T>, - ) -> NativeForm<'e, VisitResult<Dynamic<type_name::Lowered<'value, 'ctx, T>>>, E> + ) -> Canonical<'e, VisitResult<Dynamic<type_name::Lowered<'value, 'ctx, T>>>, E> where type_name::Lowered<'value, 'ctx, T>: Sized, Dynamic<type_name::Lowered<'value, 'ctx, T>>: DynBind<E>, @@ -86,13 +82,14 @@ pub struct ValueKnown<'a, T: ?Sized> { pub fn visit_value< 'ctx: 'visitor, 'visitor: 'e, + 'lt: 'e, 'e, T: type_name::WithLt<'e, 'ctx>, E: Environment, >( - visitor: DynVisitor<'visitor, 'ctx, E>, + visitor: DynVisitor<'visitor, 'lt, 'ctx, E>, value: T, -) -> NativeForm<'e, VisitResult<Dynamic<T>>, E> +) -> Canonical<'e, VisitResult<Dynamic<T>>, E> where Dynamic<T>: DynBind<E>, type_name::Raised<'e, 'ctx, T>: type_name::Static, |