This trait can be used with #[derive]if all of the type's fields implement Default. When derived, it will use the default value for each field's type.
The default for TryVec<T> is an empty collection, so there's no need to require that T implement default. As with stdlib Vec, implementing this directly allows us to avoid this unnecessary bound.
Per
Default
docs (emphasis mine):The default for
TryVec<T>
is an empty collection, so there's no need to require thatT
implement default. As with stdlibVec
, implementing this directly allows us to avoid this unnecessary bound.