# {{rust_type}}

{{md_escaped description}}

<table>
    <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
    {{#each fields}}
        <tr id="{{field_name}}">
            <td><code>{{~ field_name ~}}</code></td>
            {{#if (eq kind "primitive")}}
            <td><code>{{~ md_escaped data_type ~}}</code></td>
            {{else}}
            <td><code><a class='link' href="../{{~ data_type ~}}">{{~ data_type ~}}</code></td>
            {{/if}}
            <td>
                {{~ md_escaped description ~}}
            </td>
            <td>
                {{~ #if default includeZero=true ~}}
                    {{~ md_escaped default ~}}
                {{~ /if ~}}
            </td>
        </tr>
    {{/each}}
</table>
