<!DOCTYPE html>
<!--
Welcome to a Clippy's lint list, at least the source code of it. If you are
interested in contributing to this website checkout `util/gh-pages/index_template.html`
inside the rust-clippy repository.

Otherwise, have a great day =^.^=
-->
<html lang="en"> {# #}
<head> {# #}
    <meta charset="UTF-8"/> {# #}
    <meta name="viewport" content="width=device-width, initial-scale=1"/> {# #}
    <meta name="description" content="A collection of lints to catch common mistakes and improve your Rust code."> {# #}

    <title>Clippy Lints</title> {# #}

    <link id="githubLightHighlight" rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/styles/github.min.css" disabled="true" /> {# #}
    <link id="githubDarkHighlight" rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/styles/github-dark.min.css" disabled="true" /> {# #}

    <!-- The files are not copied over into the Clippy project since they use the MPL-2.0 License -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/rust-lang/mdBook@0.4.46/src/theme/css/variables.css"/> {# #}
    <link id="styleHighlight" rel="stylesheet" href="https://cdn.jsdelivr.net/gh/rust-lang/mdBook@0.4.46/src/theme/highlight.css"> {# #}
    <link id="styleNight" rel="stylesheet" href="https://cdn.jsdelivr.net/gh/rust-lang/mdBook@0.4.46/src/theme/tomorrow-night.css" disabled="true"> {# #}
    <link id="styleAyu" rel="stylesheet" href="https://cdn.jsdelivr.net/gh/rust-lang/mdBook@0.4.46/src/theme/ayu-highlight.css" disabled="true"> {# #}
    <link rel="stylesheet" href="style.css"> {# #}
    <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/highlight.min.js" defer></script> {# #}
    <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/languages/rust.min.js" defer></script> {# #}
    <script src="script.js" defer></script> {# #}
</head> {# #}
<body> {# #}
    <div id="settings-dropdown" class="dropdown"> {# #}
        <button class="settings-icon" tabindex="-1"></button> {# #}
        <div class="settings-menu" tabindex="-1"> {# #}
            <div class="setting-radio-name">Theme</div> {# #}
            <select id="theme-choice"> {# #}
                <option value="ayu">Ayu</option> {# #}
                <option value="coal">Coal</option> {# #}
                <option value="light">Light</option> {# #}
                <option value="navy">Navy</option> {# #}
                <option value="rust">Rust</option> {# #}
            </select> {# #}
            <label> {# #}
                <input type="checkbox" id="disable-shortcuts"> {#+ #}
                <span>Disable keyboard shortcuts</span> {# #}
            </label> {# #}
        </div> {# #}
    </div> {# #}
    <script src="theme.js"></script> {# #}

    <div class="container"> {# #}
        <h1 class="page-header">Clippy Lints <span class="badge">Total number: {{+ count }}</span></h1> {# #}

        <noscript> {# #}
            <div class="alert alert-danger" role="alert"> {# #}
                Lints search and filtering only works with JS enabled. :( {# #}
            </div> {# #}
        </noscript> {# #}

        <div id="menu-filters"> {# #}
            <div id="upper-filters"> {# #}
                <div class="dropdown" data-filter="levels" tabindex="-1"> {# #}
                    <button type="button" class="btn-default dropdown-toggle"> {# #}
                        Lint levels <span id="levels-count" class="badge">4</span> <span class="caret"></span> {# #}
                    </button> {# #}
                    <ul class="dropdown-menu"> {# #}
                        <li class="checkbox"> {# #}
                            <button class="reset-all">All</button> {# #}
                        </li> {# #}
                        <li class="checkbox"> {# #}
                            <button class="reset-none">None</button> {# #}
                        </li> {# #}
                        <li role="separator" class="divider"></li> {# #}
                        {% for level in ["allow", "warn", "deny", "none"] %}
                            <li class="checkbox"> {# #}
                                <label> {# #}
                                    <input type="checkbox" name="{{ level }}" checked />
                                    {{ level | capitalize }}
                                </label> {# #}
                            </li> {# #}
                        {% endfor %}
                    </ul> {# #}
                </div> {# #}
                <div class="dropdown" data-filter="groups" tabindex="-1"> {# #}
                    <button type="button" class="btn-default dropdown-toggle"> {# #}
                        Lint groups <span id="groups-count" class="badge">9</span> <span class="caret"></span> {# #}
                    </button> {# #}
                    <ul class="dropdown-menu"> {# #}
                        <li class="checkbox"> {# #}
                            <button class="reset-all">All</button> {# #}
                        </li> {# #}
                        <li class="checkbox"> {# #}
                            <button class="reset-default">Default</button> {# #}
                        </li> {# #}
                        <li class="checkbox"> {# #}
                            <button class="reset-none">None</button> {# #}
                        </li> {# #}
                        <li role="separator" class="divider"></li> {# #}
                        {% for group in ["cargo", "complexity", "correctness", "nursery", "pedantic", "perf", "restriction", "style", "suspicious", "deprecated"] %}
                            <li class="checkbox"> {# #}
                                <label> {# #}
                                    <input type="checkbox" name="{{ group }}" {% if *group != "deprecated" +%} checked {% endif %} />
                                    {{ group | capitalize }}
                                </label> {# #}
                            </li> {# #}
                        {% endfor %}
                    </ul> {# #}
                </div> {# #}
                <div id="version-filter" class="dropdown" tabindex="-1"> {# #}
                    <button type="button" class="btn-default dropdown-toggle"> {# #}
                        Version {#+ #}
                        <span id="versions-count" class="badge">0</span> {#+ #}
                        <span class="caret"></span> {# #}
                    </button> {# #}
                    <ul class="dropdown-menu"> {# #}
                        <li class="checkbox"> {# #}
                            <button id="reset-versions">Clear filters</button> {# #}
                        </li> {# #}
                        <li role="separator" class="divider"></li> {# #}
                        {% for (sym, name) in [("≥", "gte"), ("≤", "lte"), ("=", "eq")] %}
                            <li class="checkbox"> {# #}
                                <label>{{ sym }}</label> {#+ #}
                                <span>1.</span> {# #}
                                <input type="number" name="{{ name }}" min="29" maxlength="2" class="version-filter-input form-control filter-input" /> {# #}
                                <span>.0</span> {# #}
                            </li> {# #}
                        {% endfor %}
                    </ul> {# #}
                </div> {# #}
                <div class="dropdown" data-filter="applicabilities" tabindex="-1"> {# #}
                    <button type="button" class="btn-default dropdown-toggle"> {# #}
                        Applicability {#+ #}
                        <span id="applicabilities-count" class="badge">4</span> {#+ #}
                        <span class="caret"></span> {# #}
                    </button> {# #}
                    <ul class="dropdown-menu"> {# #}
                        <li class="checkbox"> {# #}
                            <button class="reset-all">All</button> {# #}
                        </li> {# #}
                        <li class="checkbox"> {# #}
                            <button class="reset-none">None</button> {# #}
                        </li> {# #}
                        <li role="separator" class="divider"></li> {# #}
                        {% for applicability in ["Unspecified", "MachineApplicable", "MaybeIncorrect", "HasPlaceholders"] %}
                            <li class="checkbox"> {# #}
                                <label> {# #}
                                    <input type="checkbox" name="{{ applicability }}" checked />
                                    {{ applicability }}
                                </label> {# #}
                            </li> {# #}
                        {% endfor %}
                    </ul> {# #}
                </div> {# #}
            </div> {# #}
            <div class="search-control"> {# #}
                <label class="input-group-addon" id="filter-label" for="search-input">Filter:</label> {# #}
                <input type="text" class="form-control filter-input" placeholder="Keywords or search string (`S` or `/` to focus)" id="search-input" /> {# #}
                <button id="filter-clear" type="button"> {# #}
                    Clear {# #}
                </button> {# #}
            </div> {# #}
            <div class="btn-group expansion-group"> {# #}
                <button title="Collapse All" class="btn-default expansion-control" type="button" id="collapse-all"> {# #}
                    <span class="glyphicon glyphicon-collapse-up"></span> {# #}
                </button> {# #}
                <button title="Expand All" class="btn-default expansion-control" type="button" id="expand-all"> {# #}
                    <span class="glyphicon glyphicon-collapse-down"></span> {# #}
                </button> {# #}
            </div> {# #}
        </div>
        {% for lint in lints %}
            <article id="{{lint.id}}"> {# #}
                <input id="label-{{lint.id}}" type="checkbox"> {# #}
                <label for="label-{{lint.id}}"> {# #}
                    <h2 class="lint-title"> {# #}
                        <div class="panel-title-name" id="lint-{{lint.id}}"> {# #}
                            {{lint.id ~}}
                            <a href="#{{lint.id}}" class="anchor label label-default">&para;</a> {#+ #}
                            <a href="" class="copy-to-clipboard anchor label label-default"> {# #}
                                &#128203; {# #}
                            </a> {# #}
                        </div> {# #}

                        <span class="label label-default lint-group group-{{lint.group}}">{{lint.group}}</span> {#+ #}

                        <span class="label lint-level level-{{lint.level}}">{{lint.level}}</span> {#+ #}

                        <span class="label doc-folding"></span> {# #}
                    </h2> {# #}
                </label> {# #}

                <div class="lint-docs"> {# #}
                    <div class="lint-doc-md">{{Self::markdown(lint.docs)}}</div> {# #}
                    <div class="lint-additional-info">
                        {# Applicability #}
                        <div> {# #}
                            Applicability: {#+ #}
                            <span class="label label-default applicability">{{ lint.applicability_str() }}</span> {# #}
                            <a href="https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint_defs/enum.Applicability.html#variants">(?)</a> {# #}
                        </div>
                        {# Clippy version #}
                        <div> {# #}
                            {% if lint.group == "deprecated" %}Deprecated{% else %} Added{% endif +%} in: {#+ #}
                            <span class="label label-default label-version">{{lint.version}}</span> {# #}
                        </div>
                        {# Open related issues #}
                        <div> {# #}
                            <a href="https://github.com/rust-lang/rust-clippy/issues?q=is%3Aissue+{{lint.id}}">Related Issues</a> {# #}
                        </div>

                        {# Jump to source #}
                        {% if let Some(id_location) = lint.id_location %}
                            <div> {# #}
                                <a href="https://github.com/rust-lang/rust-clippy/blob/master/{{id_location}}">View Source</a> {# #}
                            </div>
                        {% endif %}
                    </div> {# #}
                </div> {# #}
            </article>
        {% endfor %}
    </div> {# #}

    <a {#+ #}
        aria-label="View source on GitHub" {#+ #}
        class="github-corner" {#+ #}
        href="https://github.com/rust-lang/rust-clippy" {#+ #}
        rel="noopener noreferrer" {#+ #}
        target="_blank" {# #}
    > {# #}
        <svg {#+ #}
            width="80" {#+ #}
            height="80" {#+ #}
            viewBox="0 0 250 250" {#+ #}
            style="position: absolute; top: 0; border: 0; right: 0" {#+ #}
            aria-hidden="true" {# #}
        > {# #}
            <path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z" fill="var(--theme-color)"></path> {# #}
            <path {#+ #}
                d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" {#+ #}
                fill="currentColor" {#+ #}
                style="transform-origin: 130px 106px" {#+ #}
                class="octo-arm" {# #}
            ></path> {# #}
            <path {#+ #}
                d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" {#+ #}
                fill="currentColor" {#+ #}
                class="octo-body" {# #}
            ></path> {# #}
        </svg> {# #}
    </a> {# #}
</body> {# #}
</html> {# #}
