> > -impl<'a, T> ParentInit<'a, T> {
> > +impl<'init, T> ParentInit<'init, T> {
> >      #[inline]
> > -    pub fn with(obj: &'a mut MaybeUninit<T>, f: impl FnOnce(ParentInit<'a, 
> > T>)) {
> > -        let parent_init = ParentInit(obj);
> > +    pub fn with(obj: &'init mut MaybeUninit<T>, f: impl for<'id> 
> > FnOnce(ParentInit<'id, T>)) {
> > +        let parent_init = ParentInit(obj, PhantomData);
> 
> I think it's also valuable to add the similar comment as GhostToken did,
> mentioning this `f` can't reture ParentInit itself.

My bad, I forgot there's no returned value...

> >          f(parent_init)
> >      }
> >  }

Reply via email to