{{#> layout}}

<div class="title-wrapper">
    <h3 class="title">{{what}} {{literal module}}::<span class="{{what_class}}">{{name}}</span></h3>
    <a class="overview" href="{{literal root_index}}">Overview</a>
</div>

{{#if doc}}{{literal doc}}{{/if}}

{{#if variants}}
<h4 class="section-title">Variants</h4>

{{#each variants}}
    <div class="item item-fn">
        <div id="variant.{{this.name}}" class="item-title">
        <a href="#variant.{{this.name}}" class="variant">{{this.name}}</a>
        </div>
        {{#if this.doc}}{{literal this.doc}}{{/if}}
    </div>
{{/each}}
{{/if}}

{{#if methods}}
<h4 class="section-title">Methods</h4>

{{#each methods}}
    <div class="item item-fn">
        <div id="method.{{this.name}}" class="item-title">
        {{#if this.is_async}}<span class="async">async</span> {{/if}}fn <a href="#method.{{this.name}}" class="fn">{{this.name}}</a>{{#if this.parameters}}&lt;{{literal this.parameters}}&gt;{{/if}}({{literal this.args}}){{#if this.return_type}} -&gt; {{literal this.return_type}}{{/if}}
        {{#if this.deprecated}}<div class="deprecated"><span class="heading">Deprecated:</span><span class="content">{{this.deprecated}}</span></div>{{/if}}
        </div>
        {{#if this.doc}}{{literal this.doc}}{{/if}}
    </div>
{{/each}}
{{/if}}

{{#if traits}}
<h4 class="section-title">Trait Implementations</h4>

{{#each traits}}
    <div class="item item-trait">
        <div id="trait.{{this.item}}" class="item-title">
            impl <a href="{{this.url}}" class="trait">{{this.name}}</a>
            for <span class="{{../what_class}}">{{../name}}</span>
        </div>
    </div>

    {{#each this.methods}}
        <div class="item item-fn">
            <div id="method.{{this.name}}" class="item-title">
            {{#if this.is_async}}<span class="async">async</span> {{/if}}fn <a href="#method.{{this.name}}" class="fn">{{this.name}}</a>{{#if this.parameters}}&lt;{{literal this.parameters}}&gt;{{/if}}({{literal this.args}}){{#if this.return_type}} -&gt; {{literal this.return_type}}{{/if}}
            {{#if this.deprecated}}<div class="deprecated"><span class="heading">Deprecated:</span><span class="content">{{this.deprecated}}</span></div>{{/if}}
            </div>
            {{#if this.doc}}{{literal this.doc}}{{/if}}
        </div>
    {{/each}}

    {{#each this.protocols}}
        <div class="item item-fn">
            <div id="protocol.{{this.name}}" class="item-title">
            protocol <a href="#protocol.{{this.name}}" class="protocol">{{this.name}}</a> {{field}}
            {{#if this.deprecated}}<div class="deprecated"><span class="heading">Deprecated:</span><span class="content">{{this.deprecated}}</span></div>{{/if}}
            </div>
            {{#if this.repr}}{{literal this.repr}}{{/if}}
            {{#if this.doc}}{{literal this.doc}}{{/if}}
        </div>
    {{/each}}
{{/each}}
{{/if}}

{{#if protocols}}
<h4 class="section-title">Protocols</h4>

{{#each protocols}}
    <div class="item item-fn">
        <div id="protocol.{{this.name}}" class="item-title">
        protocol <a href="#protocol.{{this.name}}" class="protocol">{{this.name}}</a> {{field}}
        {{#if this.deprecated}}<div class="deprecated"><span class="heading">Deprecated:</span><span class="content">{{this.deprecated}}</span></div>{{/if}}
        </div>
        {{#if this.repr}}{{literal this.repr}}{{/if}}
        {{#if this.doc}}{{literal this.doc}}{{/if}}
    </div>
{{/each}}
{{/if}}

{{/layout}}
