Diffstat (limited to 'tests/builder_struct.rs')
| -rw-r--r-- | tests/builder_struct.rs | 77 |
1 files changed, 40 insertions, 37 deletions
diff --git a/tests/builder_struct.rs b/tests/builder_struct.rs index 27e55f5..aabad24 100644 --- a/tests/builder_struct.rs +++ b/tests/builder_struct.rs @@ -1,7 +1,7 @@ use treaty::{ any::{OwnedStatic, TempBorrowedStatic}, builders::{self, core::r#struct::StructBuilder}, - effect::{Blocking, Effect, Future, ReadyValue}, + effect::{Blocking, Effect, ObjSafe}, protocol::{ visitor::{tags, visit_sequence, visit_tag, visit_value, TagConst, VisitResult}, DynVisitor, @@ -45,26 +45,27 @@ impl<'ctx, M> walkers::core::r#struct::StructTypeInfo<'ctx, M> for Info { index: usize, value: &'ctx Self::T, visitor: DynVisitor<'a, 'ctx>, - ) -> Future<'a, Result<Flow, Self::FieldError>, E> { - E::wrap(async move { - match index { - 0 => { - let walker = <&bool as Walk<M, E>>::into_walker(&value.a); - - assert_eq!(Walker::<E>::walk(walker, visitor).await, Ok(())); - - Ok(Flow::Continue) - } - 1 => { - let walker = <&bool as Walk<M, E>>::into_walker(&value.b); - - assert_eq!(Walker::<E>::walk(walker, visitor).await, Ok(())); - - Ok(Flow::Continue) - } - _ => Ok(Flow::Done), - } - }) + ) -> ObjSafe<'a, Result<Flow, Self::FieldError>, E> { + todo!() + // E::wrap(async move { + // match index { + // 0 => { + // let walker = <&bool as Walk<M, E>>::into_walker(&value.a); + // + // assert_eq!(Walker::<E>::walk(walker, visitor).await, Ok(())); + // + // Ok(Flow::Continue) + // } + // 1 => { + // let walker = <&bool as Walk<M, E>>::into_walker(&value.b); + // + // assert_eq!(Walker::<E>::walk(walker, visitor).await, Ok(())); + // + // Ok(Flow::Continue) + // } + // _ => Ok(Flow::Done), + // } + // }) } } @@ -107,13 +108,14 @@ impl<'ctx, M, E: Effect> builders::core::r#struct::StructTypeInfo<'ctx, M, E> fo type Error = (); #[inline(always)] - fn from_builders<'a>(builders: Self::Builders) -> Future<'a, Result<Self::T, Self::Error>, E> { - E::wrap(async { - Ok(X { - a: builders.a.build().await.unwrap(), - b: builders.b.build().await.unwrap(), - }) - }) + fn from_builders<'a>(builders: Self::Builders) -> ObjSafe<'a, Result<Self::T, Self::Error>, E> { + todo!() + // E::wrap(async { + // Ok(X { + // a: builders.a.build().await.unwrap(), + // b: builders.b.build().await.unwrap(), + // }) + // }) } #[inline(always)] @@ -130,13 +132,14 @@ impl<'ctx, M, E: Effect> builders::core::r#struct::StructTypeInfo<'ctx, M, E> fo type Seed = (); #[inline(always)] - fn new_builders<'a>(_seed: Self::Seed) -> Future<'a, Self::Builders, E> { - E::wrap(async { - Fields { - a: Builder::<E>::from_seed(()).await, - b: Builder::<E>::from_seed(()).await, - } - }) + fn new_builders<'a>(_seed: Self::Seed) -> ObjSafe<'a, Self::Builders, E> { + todo!() + // E::wrap(async { + // Fields { + // a: Builder::<E>::from_seed(()).await, + // b: Builder::<E>::from_seed(()).await, + // } + // }) } } @@ -291,7 +294,7 @@ pub mod demo { use crate::Walk; use macro_rules_attribute::derive; use treaty::{ - effect::{Blocking, ReadyValue as _}, + effect::{Blocking}, transform, Build, DefaultMode, }; @@ -313,7 +316,7 @@ pub mod demo { ((), ()), Walk::<DefaultMode, _>::into_walker(&x), ) - .value(); + .0; other.0.unwrap() } |