message = "a slice of type `{Self}` cannot be built since we need to store the elements somewhere",
message = "a slice of type `{Self}` cannot be built since we need to store the elements somewhere",
/// **For implementors:** For a collection to unsafely rely on this method's safety precondition (that is,
/// invoke UB if they are violated), it must implement `extend_reserve` correctly. In other words,
// This method is for internal usage only. It is only on the trait because of specialization's limitations.
// We cannot reserve more than `usize::MAX` items, and this is likely to go out of memory anyway.
impl<$($ty_names,)* $($extend_ty_names,)*> FromIterator<($($extend_ty_names,)*)> for ($($ty_names,)*)