Diffstat (limited to 'src/walk/walkers/core/int.rs')
-rw-r--r--src/walk/walkers/core/int.rs23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/walk/walkers/core/int.rs b/src/walk/walkers/core/int.rs
index 2416849..4eea290 100644
--- a/src/walk/walkers/core/int.rs
+++ b/src/walk/walkers/core/int.rs
@@ -1,7 +1,8 @@
use effectful::bound::Dynamic;
use effectful::effective::Effective;
-use effectful::environment::{DynBind, Environment, NativeForm};
-use effectful::SendSync;
+use effectful::environment::{Environment};
+use effectful::effective::{Canonical};
+use effectful::{DynBind, SendSync};
use crate::{
any::AnyTrait,
@@ -109,17 +110,17 @@ where
type Output = Dynamic<T>;
- fn walk<'visitor: 'effect, 'effect>(
+ fn walk<'visitor: 'effect, 'lt: 'effect, 'effect>(
self,
- visitor: DynVisitor<'visitor, 'ctx, E>,
- ) -> NativeForm<'effect, Result<Self::Output, Self::Error>, E>
+ visitor: DynVisitor<'visitor, 'lt, 'ctx, E>,
+ ) -> Canonical<'effect, Result<Self::Output, Self::Error>, E>
where
Self: 'effect,
{
let value = self.value;
E::value((self, visitor))
- .update((), |_, (this, visitor)| {
+ .update_map((), |_, (this, visitor)| {
request_hint::<E>(visitor.cast(), DynWalker(this))
.map((), |_, x| VisitResult::unit_skipped(x))
.cast()
@@ -273,7 +274,7 @@ impl<T> Integer for T where
{
}
-impl<'ctx, T, E> AnyTrait<'ctx> for IntegerWalker<T, E>
+impl<'lt, 'ctx: 'lt, T, E> AnyTrait<'lt, 'ctx> for IntegerWalker<T, E>
where
T: Integer,
E: Environment,
@@ -329,11 +330,11 @@ macro_rules! impl_hints {
Dynamic<OwnedStatic<$type>>: DynBind<E>,
for<'a> Dynamic<&'a OwnedStatic<$type>>: DynBind<E>
{
- fn hint<'this: 'e, 'visitor: 'e, 'hint: 'e, 'e>(
+ fn hint<'this: 'e, 'visitor: 'e, 'lt: 'e, 'hint: 'e, 'e>(
&'this mut self,
- visitor: DynVisitorWith<'visitor, 'ctx, type_name::Raised<'static, 'ctx, dyn Value<'ctx, OwnedStatic<$type>, E>>>,
+ visitor: DynVisitorWith<'visitor, 'lt, 'ctx, type_name::Raised<'static, 'ctx, dyn Value<'ctx, OwnedStatic<$type>, E>>>,
_hint: (),
- ) -> NativeForm<'e, crate::protocol::visitor::VisitResult, E>
+ ) -> Canonical<'e, crate::protocol::visitor::VisitResult, E>
where
'ctx: 'this + 'visitor + 'hint + 'e,
{
@@ -349,7 +350,7 @@ macro_rules! impl_hints {
fn known<'a>(
&'a mut self,
_hint: &'a (),
- ) -> NativeForm<'a, Result<ValueKnown<'a, OwnedStatic<$type>>, ()>, E>
+ ) -> Canonical<'a, Result<ValueKnown<'a, OwnedStatic<$type>>, ()>, E>
where
ValueKnown<'a, OwnedStatic<$type>>: DynBind<E>
{