{% match &self %}
{% when Self::List with (val) %}
{% if self.is_short() %}
[ {% for item in val +%}{{+ item.render()? }}{% if !loop.last %}, {%+ endif %}
{% endfor %} ]
{% else %}
[ {% for item in val ~%}
{{+ item.render()? | indent(2) }}{% if !loop.last %},{%+ endif ~%}
{% endfor ~%}
]
{% endif %}
{% when Self::Message with (val) %}
{
{% for opt in val ~%}
{{+ opt.name +}}: {{+ opt.value.render()? | indent(2) +}}{% if !loop.last +%},{%+ endif %}
{% endfor ~%}
}
{% when Self::Bool with (val) %}
{{ val }}
{% when Self::Uint with (val) %}
{{ val }}
{% when Self::Int with (val) %}
{{ val }}
{% when Self::Float with (val) %}
{{ val }}
{% when Self::Enum with (val) %}
{{ val }}
{% when Self::String with (val) %}
"{{ val }}"
{% when Self::Duration with (val) %}
{ seconds: {{+ val.seconds }}, nanos: {{+ val.nanos +}} }
{% when Self::Timestamp with (val) %}
{ seconds: {{+ val.seconds }}, nanos: {{+ val.nanos +}} }
{% when Self::Bytes with (val) %}
"{{ crate::format_bytes_as_proto_string_literal(&val) }}"
{% endmatch %}