impl {{ m.ident }}Trait for () {
    {%- for f in m.fields_and_oneof_fields %}
    {%- if f.is_message %}
    type {{ f.ident_camel_unesc }}MessageType<'this> = () where Self: 'this;
    {%- endif %}

    {%- if f.is_repeated %}
    type {{ f.ident_camel_unesc }}RepeatedType<'this> =
        ::puroro::internal::impls::empty::EmptyRepeatedField<{{ f.trait_scalar_getter_type }}>
        where Self: 'this;
    fn {{ f.ident }}<'this>(&'this self) -> Self::{{ f.ident_camel_unesc }}RepeatedType<'this> {
        ::puroro::internal::impls::empty::EmptyRepeatedField::new()
    }
    {%- endif %}
    {%- endfor %} {#- for f in m.fields_and_oneof_fields #}
}
