in uniffi_bindgen/src/bindings/python/templates/ErrorTemplate.py [0:0]
def write(value, buf):
{%- for variant in e.variants() %}
if isinstance(value, {{ type_name }}.{{ variant.name() }}):
buf.write_i32({{ loop.index }})
{%- for field in variant.fields() %}
{%- if variant.has_nameless_fields() %}
{{ field|write_fn }}(value._values[{{ loop.index0 }}], buf)
{%- else %}
{{ field|write_fn }}(value.{{ field.name() }}, buf)
{%- endif %}
{%- endfor %}
{%- endfor %}