fn generate_into_r_vec_element(input: &DeriveInput) -> TokenStreamExpand description
Generate the concrete IntoRVecElement impl (issue #1284).
Lights up the single impl<T: IntoRVecElement> IntoR for Vec<T> blanket in
miniextendr-api, so -> Vec<MyType> returns compile and produce a VECSXP
of external pointers. The impl must be concrete (not a blanket over
IntoExternalPtr) because the MatchArg bridge already occupies a blanket
on IntoRVecElement and two blankets would collide (E0119) — the same
funnel design #[derive(IntoR)] newtypes use (see
miniextendr_api::newtype module docs).
GC discipline: ExternalPtr::collect_into_r_list allocates each
EXTPTRSXP directly into the already-protected destination list, so no
element is ever live-but-unrooted across a later allocation.