Diffstat (limited to 'src/walk/walkers/core/bool.rs')
| -rw-r--r-- | src/walk/walkers/core/bool.rs | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/walk/walkers/core/bool.rs b/src/walk/walkers/core/bool.rs index c6e7652..5189ecc 100644 --- a/src/walk/walkers/core/bool.rs +++ b/src/walk/walkers/core/bool.rs @@ -1,13 +1,16 @@ use effectful::{ - effective::Effective, - environment::{Environment, NativeForm}, + bound::Dynamic, effective::Effective, environment::{DynBind, Environment, NativeForm} }; -use crate::Walk; +use crate::{any::OwnedStatic, Walk}; use super::value::ValueWalker; -impl<'ctx, M, E: Environment> Walk<'ctx, M, E> for bool { +impl<'ctx, M, E: Environment> Walk<'ctx, M, E> for bool +where + Dynamic<bool>: DynBind<E>, + Dynamic<OwnedStatic<bool>>: DynBind<E>, +{ type Walker = ValueWalker<bool>; fn into_walker<'e>(self) -> NativeForm<'e, Self::Walker, E> { @@ -15,7 +18,11 @@ impl<'ctx, M, E: Environment> Walk<'ctx, M, E> for bool { } } -impl<'ctx, M, E: Environment> Walk<'ctx, M, E> for &'ctx bool { +impl<'ctx, M, E: Environment> Walk<'ctx, M, E> for &'ctx bool +where + Dynamic<bool>: DynBind<E>, + Dynamic<OwnedStatic<bool>>: DynBind<E>, +{ type Walker = ValueWalker<bool>; fn into_walker<'e>(self) -> NativeForm<'e, Self::Walker, E> { |