Diffstat (limited to 'src/build/builders/core/bool.rs')
| -rw-r--r-- | src/build/builders/core/bool.rs | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/src/build/builders/core/bool.rs b/src/build/builders/core/bool.rs index 241f1e4..7a95820 100644 --- a/src/build/builders/core/bool.rs +++ b/src/build/builders/core/bool.rs @@ -4,11 +4,15 @@ use crate::{ any::static_wrapper::OwnedStatic, any_trait, effect::{Effect, Future}, - protocol::{visitor::value::Value, Visitor}, + protocol::{ + visitor::value::{DynValue, Value}, + Visitor, + }, + Flow, }; -impl<'ctx> crate::Build<'ctx> for bool { - type Builder<E: Effect<'ctx>> = Builder<E>; +impl<'ctx, M, E: Effect<'ctx>> crate::Build<'ctx, M, E> for bool { + type Builder = Builder<E>; } #[derive(Debug)] @@ -34,9 +38,7 @@ impl<E> crate::BuilderTypes for Builder<E> { type Seed = (); } -impl<'ctx, E: Effect<'ctx>> crate::Builder<'ctx> for Builder<E> { - type Effect = E; - +impl<'ctx, E: Effect<'ctx>> crate::Builder<'ctx, E> for Builder<E> { #[inline] fn build<'a>(self) -> Future<'a, 'ctx, Result<Self::Value, Self::Error>, E> where @@ -59,19 +61,14 @@ impl<'ctx, E: Effect<'ctx>> crate::Builder<'ctx> for Builder<E> { any_trait! { impl['a, 'ctx, E] Builder<E> = [ - dyn Value<'a, 'ctx, OwnedStatic<bool>, Effect = E> + 'a, + DynValue<'a, 'ctx, OwnedStatic<bool>, E>, ] where E: Effect<'ctx> } -impl<'a, 'ctx: 'a, E: Effect<'ctx>> Value<'a, 'ctx, OwnedStatic<bool>> for Builder<E> { - type Effect = E; - +impl<'a, 'ctx: 'a, E: Effect<'ctx>> Value<'a, 'ctx, OwnedStatic<bool>, E> for Builder<E> { #[inline] - fn visit( - &'a mut self, - OwnedStatic(value): OwnedStatic<bool>, - ) -> Future<'a, 'ctx, ControlFlow<(), ()>, E> { + fn visit(&'a mut self, OwnedStatic(value): OwnedStatic<bool>) -> Future<'a, 'ctx, Flow, E> { self.0 = Some(value); - E::wrap(core::future::ready(ControlFlow::Continue(()))) + E::ready(Flow::Continue) } } |