Diffstat (limited to 'tests/builder_struct.rs')
-rw-r--r--tests/builder_struct.rs77
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()
}