> So concretely, what about just:
> - push(&mut self, init: impl Init<T>, flags: Flags) ->
>     Result<(), AllocError>
> - try_push<I: Init<T, E>, E>(&mut self, init: I, flags: Flags) ->
>     Result<(), PushInitError<I, E>>

I realised that changing push(v: T) to push(init: impl Init<T>) can
weaken the type inference, although there doesn't appear to be any uses
in tree that are affected currently. Anyone have any thoughts on this?
Otherwise I guess it's push, push_init, try_push_init (but with the
error types I suggested).

Reply via email to