Diffstat (limited to 'src/build/builders/core/enum.rs')
| -rw-r--r-- | src/build/builders/core/enum.rs | 33 |
1 files changed, 5 insertions, 28 deletions
diff --git a/src/build/builders/core/enum.rs b/src/build/builders/core/enum.rs index dd5b0b8..f5ba931 100644 --- a/src/build/builders/core/enum.rs +++ b/src/build/builders/core/enum.rs @@ -250,36 +250,13 @@ where { let visitor = VariantVisitor::<Info, Mode, E> { marker: None }; - E::value(visitor) - .update_map::<'_, '_, _, Flow>(walker, |walker, visitor| { - let y: DynVisitor<'_, 'lt, 'ctx, E> = DynVisitor(visitor); - let walker: DynWalkerObjSafe<'b, 'd, 'ctx, E> = walker; - let x: Canonical<'_, Flow, E> = walker.walk(y); - let y: Canonical<'_, Flow, E, &'_ ()> = x.cast(); + E::value((walker, visitor)) + .update_map((), |_, (walker, visitor)| { + let y = DynVisitor(visitor); + let x = walker.walk(y); + let y = x.cast(); y - // E::value(Flow::Done).cast() }); - // .then(self, |this, ((visitor, _), result)| { - // if let Some(variant) = visitor.marker { - // match core::mem::replace(&mut this.inner, Inner::Temp) { - // // A variant was given so we need to make the builder for - // // it. - // Inner::Seed(seed) => Info::new_builder(seed, variant) - // .map((this, result), |(this, result), builder| { - // this.inner = Inner::Builder { builder }; - // result.to_done().into() - // }) - // .cast::<()>(), - // inner => { - // this.inner = inner; - // E::value::<VisitResult>(result.to_done().into()).cast() - // } - // } - // } else { - // E::value(result.to_done().into()).cast() - // } - // }); - // .cast() todo!(); } } |