On Wed Oct 7, 2026 at 3:27 PM JST, Alexandre Courbot wrote:
> On Mon Sep 28, 2026 at 5:42 PM JST, Eliot Courtney wrote:
> <...>
>> +impl<T, const N: usize> ArrayVec<T, N> {
>> +    /// Creates an empty [`ArrayVec`].
>> +    #[inline]
>> +    pub const fn new() -> Self {
>> +        // Clippy triggers this even if the enclosing function is never 
>> called, so skip if clippy is
>> +        // on.
>> +        const_assert!(
>> +            cfg!(clippy) || size_of::<Self>() <= 512,
>
> Let's make this `512` a defined constant.
>
> <...>
>> +impl<I, E> From<PushInitError<I, E>> for Error
>> +where
>> +    Error: From<E>,
>> +{
>> +    #[inline]
>> +    fn from(e: PushInitError<I, E>) -> Error {
>> +        match e {
>> +            PushInitError::Full(_) => EINVAL,
>> +            PushInitError::InitError(e) => Error::from(e),
>> +        }
>> +    }
>> +}
>> +
>> +/// Error type for [`ArrayVec::push_init`].
>> +pub struct FullError;
>
> This error type covers exactly the same pattern as `kvec::PushError`
> (even the debug message is identical), can we somehow reuse that
> instead? Or at least align the names by making this `PushInitError` and
> `PushInitError` becoming `TryPushInitError` to reflect the actual names
> of the methods using them.
>
> Overall there are quite a few methods here that are still unused by the
> end of the series, so this patch could technically have been smaller. I
> think it's fine to keep these methods as they will inevitably become
> useful, but it would be nice if we could simplify the error handling a
> bit, or at least harmonize it.

Both suggestions (re-use pusherror, rename pushiniterror) sgtm, thanks!

Reply via email to