Diffstat (limited to 'src/walk/walkers/core/bool.rs')
-rw-r--r--src/walk/walkers/core/bool.rs17
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> {