in uniffi_bindgen/src/bindings/python/templates/ErrorTemplate.py [0:0]
def read(buf):
variant = buf.read_i32()
{%- for variant in e.variants() %}
if variant == {{ loop.index }}:
return {{ type_name }}.{{ variant.name() }}(
{%- if e.is_flat() %}
{{ Type::String.borrow()|read_fn }}(buf),
{%- else %}
{%- for field in variant.fields() %}
{{ field|read_fn }}(buf),
{%- endfor %}
{%- endif %}
)
{%- endfor %}
raise InternalError("Raw enum value doesn't match any cases")