let mut {{ pname }}_core_result: Vec<{{ core_import }}::{{ name }}> = Vec::new();
// `pname` here is `Vec<String>` from the PHP-facing signature (named enums are
// surfaced as snake_case wire-strings via `<EnumName as From<String>>`). Iterating
// a `Vec<String>` produces `&String`, so no hashtable-style `(key, value)`
// destructure applies.
for item in {{ pname }}.iter() {
{{ pname }}_core_result.push(<{{ core_import }}::{{ name }} as From<String>>::from(item.clone()));
}
let {{ pname }}_core: Vec<{{ core_import }}::{{ name }}> = {{ pname }}_core_result;