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!