Diffstat (limited to 'src/build/builders/core/array.rs')
| -rw-r--r-- | src/build/builders/core/array.rs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/build/builders/core/array.rs b/src/build/builders/core/array.rs index 0c07561..aca8775 100644 --- a/src/build/builders/core/array.rs +++ b/src/build/builders/core/array.rs @@ -15,7 +15,7 @@ use crate::protocol::AsyncEffect; #[cfg(all(feature = "alloc", not(feature = "std")))] use alloc::boxed::Box; -impl<'ctx, T, const N: usize, E: for<'a> Effect<'a, 'ctx>> crate::Build<'ctx, E> for [T; N] +impl<'ctx, T, const N: usize, E: Effect<'ctx>> crate::Build<'ctx, E> for [T; N] where T: crate::Build<'ctx, E>, <T as crate::Build<'ctx, E>>::Builder: DefaultBuilder<'ctx, E>, @@ -30,14 +30,14 @@ pub enum ArrayError<E> { Item(usize, E), } -pub struct Builder<'ctx, B: crate::Builder<'ctx, E>, const N: usize, E: for<'a> Effect<'a, 'ctx>> { +pub struct Builder<'ctx, B: crate::Builder<'ctx, E>, const N: usize, E: Effect<'ctx>> { array: MaybeUninit<[B::Value; N]>, index: usize, item_err: Option<(usize, B::Error)>, _marker: PhantomData<fn() -> E>, } -impl<'ctx, B: crate::DefaultBuilder<'ctx, E>, const N: usize, E: for<'a> Effect<'a, 'ctx>> crate::Builder<'ctx, E> +impl<'ctx, B: crate::DefaultBuilder<'ctx, E>, const N: usize, E: Effect<'ctx>> crate::Builder<'ctx, E> for Builder<'ctx, B, N, E> where Self: AsVisitor<'ctx, E>, @@ -80,8 +80,8 @@ impl<'ctx, B: crate::DefaultBuilder<'ctx, SyncEffect>, const N: usize> AsVisitor // #[cfg(not(feature = "alloc"))] any_trait! { - impl['a, 'ctx, B: crate::DefaultBuilder<'ctx, E>, const N: usize, E: Effect<'a, 'ctx>] Builder<'ctx, B, N, E> = [ - dyn Sequence<'a, 'ctx> + 'a, + impl['a, 'ctx, B: crate::DefaultBuilder<'ctx, E>, const N: usize, E: Effect<'ctx>] Builder<'ctx, B, N, E> = [ + dyn Sequence<'ctx> + 'a, ] } @@ -93,11 +93,11 @@ any_trait! { // ] // } -impl<'a, 'ctx, B: crate::DefaultBuilder<'ctx, E>, const N: usize, E: Effect<'a, 'ctx>> Sequence<'a, 'ctx> +impl<'ctx, B: crate::DefaultBuilder<'ctx, E>, const N: usize, E: Effect<'ctx>> Sequence<'ctx> for Builder<'ctx, B, N, E> { #[inline] - fn visit(&'a mut self, scope: &'a mut dyn for<'b> SequenceScope<'b, 'ctx>) -> ControlFlowFor<'a, 'ctx> { + fn visit<'a>(&'a mut self, scope: &'a mut dyn SequenceScope<'ctx>) -> ControlFlowFor<'a, 'ctx> where 'ctx: 'a { loop { // Check if the array is full. if self.index >= N { |