2016-07-12 12:11:18 +00:00
<!DOCTYPE html>
2021-05-18 22:08:31 +00:00
<!--
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.html`
inside the rust-clippy repository.
Otherwise, have a great day =^.^=
-->
2016-07-12 12:11:18 +00:00
< html lang = "en" >
< head >
2016-07-14 19:00:20 +00:00
< meta charset = "UTF-8" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1" / >
2022-06-19 15:19:08 +00:00
< meta name = "description" content = "A collection of lints to catch common mistakes and improve your Rust code." >
2016-07-14 19:00:20 +00:00
2021-05-18 22:08:31 +00:00
< title > Clippy Lints< / title >
2016-07-12 12:11:18 +00:00
2016-07-14 19:00:20 +00:00
< link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.min.css" / >
2022-05-17 16:12:31 +00:00
< 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" / >
2021-04-08 15:50:13 +00:00
<!-- The files are not copied over into the Clippy project since they use the MPL - 2.0 License -->
< link rel = "stylesheet" href = "https://rust-lang.github.io/mdBook/css/variables.css" / >
< link id = "styleHighlight" rel = "stylesheet" href = "https://rust-lang.github.io/mdBook/highlight.css" >
< link id = "styleNight" rel = "stylesheet" href = "https://rust-lang.github.io/mdBook/tomorrow-night.css" disabled = "true" >
< link id = "styleAyu" rel = "stylesheet" href = "https://rust-lang.github.io/mdBook/ayu-highlight.css" disabled = "true" >
2024-07-30 14:01:36 +00:00
< link rel = "stylesheet" href = "style.css" >
2016-07-12 12:11:18 +00:00
< / head >
2021-12-09 11:49:07 +00:00
< body ng-app = "clippy" ng-controller = "lintList" >
2024-08-06 19:38:14 +00:00
< div id = "settings-dropdown" >
< div class = "settings-icon" tabindex = "-1" > < / div >
< div class = "settings-menu" tabindex = "-1" >
< div class = "setting-radio-name" > Theme< / div >
2024-08-11 17:44:14 +00:00
< select id = "theme-choice" onchange = "setTheme(this.value, true)" >
< 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 >
2024-08-06 19:38:14 +00:00
< label >
< input type = "checkbox" id = "disable-shortcuts" onchange = "changeSetting(this)" >
< span > Disable keyboard shortcuts< / span >
< / label >
2024-07-30 15:31:42 +00:00
< / div >
2021-12-09 11:49:07 +00:00
< / div >
2021-04-08 15:50:13 +00:00
2021-12-05 19:43:39 +00:00
< div class = "container" >
2016-07-12 12:11:18 +00:00
< div class = "page-header" >
2021-05-18 22:08:31 +00:00
< h1 > Clippy Lints< / h1 >
2016-07-12 12:11:18 +00:00
< / div >
2016-07-14 19:00:20 +00:00
< noscript >
< div class = "alert alert-danger" role = "alert" >
2018-04-10 10:24:00 +00:00
Sorry, this site only works with JavaScript! :(
2016-07-14 19:00:20 +00:00
< / div >
< / noscript >
2016-07-12 12:11:18 +00:00
2024-08-12 18:39:25 +00:00
< div >
< div class = "panel panel-default" >
2021-12-06 22:31:58 +00:00
< div class = "panel-body row" >
2024-07-07 22:53:53 +00:00
< div id = "upper-filters" class = "col-12 col-md-5" >
2021-12-09 11:49:07 +00:00
< div class = "btn-group" filter-dropdown >
2021-12-03 13:05:55 +00:00
< button type = "button" class = "btn btn-default dropdown-toggle" >
2021-12-05 18:10:56 +00:00
Lint levels < span class = "badge" > {{selectedValuesCount(levels)}}< / span > < span class = "caret" > < / span >
2021-12-03 13:05:55 +00:00
< / button >
< ul class = "dropdown-menu" >
< li class = "checkbox" >
< label ng-click = "toggleLevels(true)" >
2021-12-16 16:59:04 +00:00
< input type = "checkbox" class = "invisible" / >
2021-12-03 13:05:55 +00:00
All
< / label >
< / li >
< li class = "checkbox" >
< label ng-click = "toggleLevels(false)" >
2021-12-16 16:59:04 +00:00
< input type = "checkbox" class = "invisible" / >
2021-12-03 13:05:55 +00:00
None
< / label >
< / li >
< li role = "separator" class = "divider" > < / li >
< li class = "checkbox" ng-repeat = "(level, enabled) in levels" >
< label class = "text-capitalize" >
< input type = "checkbox" ng-model = "levels[level]" / >
{{level}}
< / label >
< / li >
< / ul >
2016-07-14 19:00:20 +00:00
< / div >
2021-12-09 11:49:07 +00:00
< div class = "btn-group" filter-dropdown >
2021-12-03 13:05:55 +00:00
< button type = "button" class = "btn btn-default dropdown-toggle" >
2021-12-05 18:10:56 +00:00
Lint groups < span class = "badge" > {{selectedValuesCount(groups)}}< / span > < span class = "caret" > < / span >
2021-12-03 13:05:55 +00:00
< / button >
< ul class = "dropdown-menu" >
< li class = "checkbox" >
< label ng-click = "toggleGroups(true)" >
2021-12-16 16:59:04 +00:00
< input type = "checkbox" class = "invisible" / >
2021-12-03 13:05:55 +00:00
All
< / label >
< / li >
< li class = "checkbox" >
2022-10-10 09:00:15 +00:00
< label ng-click = "resetGroupsToDefault()" >
2021-12-16 16:59:04 +00:00
< input type = "checkbox" class = "invisible" / >
2022-10-10 09:00:15 +00:00
Default
2021-12-03 13:05:55 +00:00
< / label >
< / li >
2022-10-09 14:35:52 +00:00
< li class = "checkbox" >
2022-10-10 09:00:15 +00:00
< label ng-click = "toggleGroups(false)" >
2022-10-09 14:35:52 +00:00
< input type = "checkbox" class = "invisible" / >
2022-10-10 09:00:15 +00:00
None
2022-10-09 14:35:52 +00:00
< / label >
< / li >
2021-12-03 13:05:55 +00:00
< li role = "separator" class = "divider" > < / li >
< li class = "checkbox" ng-repeat = "(group, enabled) in groups" >
< label class = "text-capitalize" >
< input type = "checkbox" ng-model = "groups[group]" / >
{{group}}
< / label >
< / li >
< / ul >
2018-04-10 10:24:00 +00:00
< / div >
2022-04-24 20:10:01 +00:00
< div id = "version-filter" >
< div class = "btn-group" filter-dropdown >
< button type = "button" class = "btn btn-default dropdown-toggle" >
2022-05-03 22:12:31 +00:00
Version
< span id = "version-filter-count" class = "badge" >
2022-05-05 22:27:56 +00:00
{{versionFilterCount(versionFilters)}}
2022-05-03 22:12:31 +00:00
< / span >
< span class = "caret" > < / span >
2022-04-24 20:10:01 +00:00
< / button >
< ul id = "version-filter-selector" class = "dropdown-menu" >
2022-05-15 15:30:00 +00:00
< li class = "checkbox" >
2022-04-24 20:10:01 +00:00
< label ng-click = "clearVersionFilters()" >
< input type = "checkbox" class = "invisible" / >
Clear filters
< / label >
< / li >
< li role = "separator" class = "divider" > < / li >
2022-05-15 15:30:00 +00:00
< li class = "checkbox" ng-repeat = "(filter, vars) in versionFilters" >
2022-04-29 23:57:16 +00:00
< label ng-attr-for = "filter-{filter}" > {{filter}}< / label >
2022-05-03 22:12:31 +00:00
< span > 1.< / span >
2022-05-15 00:08:10 +00:00
< input type = "number"
min="29"
2022-05-03 22:12:31 +00:00
ng-attr-id="filter-{filter}"
class="version-filter-input form-control filter-input"
maxlength="2"
2022-05-05 22:27:56 +00:00
ng-model="versionFilters[filter].minorVersion"
2022-05-15 00:08:10 +00:00
ng-model-options="{debounce: 50}"
ng-change="updateVersionFilters()" />
2022-05-03 22:12:31 +00:00
< span > .0< / span >
2022-04-24 20:10:01 +00:00
< / li >
< / ul >
< / div >
< / div >
2024-04-05 00:02:42 +00:00
< div class = "btn-group" filter-dropdown >
< button type = "button" class = "btn btn-default dropdown-toggle" >
Applicability < span class = "badge" > {{selectedValuesCount(applicabilities)}}< / span > < span class = "caret" > < / span >
< / button >
< ul class = "dropdown-menu" >
< li class = "checkbox" >
< label ng-click = "toggleApplicabilities(true)" >
< input type = "checkbox" class = "invisible" / >
All
< / label >
< / li >
< li class = "checkbox" >
< label ng-click = "toggleApplicabilities(false)" >
< input type = "checkbox" class = "invisible" / >
None
< / label >
< / li >
< li role = "separator" class = "divider" > < / li >
< li class = "checkbox" ng-repeat = "(applicability, enabled) in applicabilities" >
< label class = "text-capitalize" >
< input type = "checkbox" ng-model = "applicabilities[applicability]" / >
{{applicability}}
< / label >
< / li >
< / ul >
< / div >
2018-04-10 10:24:00 +00:00
< / div >
2024-07-07 22:53:53 +00:00
< div class = "col-12 col-md-5 search-control" >
2016-07-14 19:00:20 +00:00
< div class = "input-group" >
2022-04-24 20:10:01 +00:00
< label class = "input-group-addon" id = "filter-label" for = "search-input" > Filter:< / label >
2024-08-12 18:39:25 +00:00
< input type = "text" class = "form-control filter-input" placeholder = "Keywords or search string (`S` or `/` to focus)" id = "search-input" onblur = "updatePath()" onchange = "handleInputChanged()" / >
2016-07-14 19:00:20 +00:00
< span class = "input-group-btn" >
2023-05-27 17:50:56 +00:00
< button class = "filter-clear btn" type = "button" ng-click = "search = ''; updatePath();" >
2016-07-14 19:00:20 +00:00
Clear
< / button >
< / span >
< / div >
2016-07-12 12:11:18 +00:00
< / div >
2024-04-09 19:32:46 +00:00
< div class = "col-12 col-md-2 btn-group expansion-group" >
2024-07-07 22:53:53 +00:00
< button title = "Collapse All" class = "btn btn-default expansion-control" type = "button" ng-click = "toggleExpansion(data, false)" >
2024-04-04 21:47:05 +00:00
< span class = "glyphicon glyphicon-collapse-up" > < / span >
< / button >
2024-07-07 22:53:53 +00:00
< button title = "Expand All" class = "btn btn-default expansion-control" type = "button" ng-click = "toggleExpansion(data, true)" >
2024-04-04 21:47:05 +00:00
< span class = "glyphicon glyphicon-collapse-down" > < / span >
< / button >
< / div >
2016-07-12 12:11:18 +00:00
< / div >
< / div >
2024-08-12 18:39:25 +00:00
{% for lint in lints %}
< article class = "panel panel-default" id = "{{lint.id}}" >
< header class = "panel-heading" ng-click = "open[lint.id] = !open[lint.id]" >
< h2 class = "panel-title" >
< div class = "panel-title-name" >
< span > {(lint.id)}< / span >
< a href = "#{{lint.id}}" class = "anchor label label-default"
ng-click="openLint(lint); $event.preventDefault(); $event.stopPropagation()">¶ < / a >
< a href = "" id = "clipboard-{{lint.id}}" class = "anchor label label-default" ng-click = "copyToClipboard(lint); $event.stopPropagation()" >
📋
< / a >
< / div >
2018-04-10 10:24:00 +00:00
2024-08-12 18:39:25 +00:00
< div class = "panel-title-addons" >
< span class = "label label-lint-group label-default label-group-{{lint.group}}" > {(lint.group)}< / span >
2021-05-18 22:08:31 +00:00
2024-08-12 18:39:25 +00:00
< span class = "label label-lint-level label-lint-level-{{lint.level}}" > {(lint.level)}< / span >
2016-07-14 19:00:20 +00:00
2024-08-12 18:39:25 +00:00
< span class = "label label-doc-folding" ng-show = "open[lint.id]" > − < / span >
< span class = "label label-doc-folding" ng-hide = "open[lint.id]" > + < / span >
< / div >
< / h2 >
< / header >
2016-07-14 19:00:20 +00:00
2024-08-12 18:39:25 +00:00
< div class = "list-group lint-docs" ng-class = "{collapse: true, in: open[lint.id]}" >
< div class = "list-group-item lint-doc-md" > {(markdown(lint.docs))}< / div >
< div class = "lint-additional-info-container" >
{# Applicability #}
< div class = "lint-additional-info-item" >
< span > Applicability: < / span >
< span class = "label label-default label-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 class = "lint-additional-info-item" >
< span > {% if lint.group == "deprecated" %}Deprecated{% else %} Added{% endif %} in: < / span >
< span class = "label label-default label-version" > {(lint.version)}< / span >
< / div >
<!-- Open related issues -->
< div class = "lint-additional-info-item" >
< a href = "https://github.com/rust-lang/rust-clippy/issues?q=is%3Aissue+{{lint.id}}" > Related Issues< / a >
< / div >
<!-- Jump to source -->
< div class = "lint-additional-info-item" ng-if = "lint.id_location" >
< a href = "https://github.com/rust-lang/rust-clippy/blob/{{docVersion}}/clippy_lints/{{lint.id_location.path}}" > View Source< / a >
< / div >
2021-05-18 22:08:31 +00:00
< / div >
< / div >
2024-08-12 18:39:25 +00:00
< / article >
{% endfor %}
2016-07-14 19:00:20 +00:00
< / div >
2016-07-12 12:11:18 +00:00
< / div >
2023-12-10 23:44:34 +00:00
< 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 >
< style >
2023-12-11 01:28:26 +00:00
.github-corner svg {
2024-02-25 20:54:46 +00:00
fill: var(--fg);
color: var(--bg);
2023-12-10 23:44:34 +00:00
}
.github-corner:hover .octo-arm {
animation: octocat-wave 560ms ease-in-out;
}
@keyframes octocat-wave {
0%,
100% {
transform: rotate(0);
}
20%,
60% {
transform: rotate(-25deg);
}
40%,
80% {
transform: rotate(10deg);
}
}
@media (max-width: 500px) {
.github-corner:hover .octo-arm {
animation: none;
}
.github-corner .octo-arm {
animation: octocat-wave 560ms ease-in-out;
}
}
< / style >
2016-07-12 12:11:18 +00:00
< / a >
2016-08-28 19:08:14 +00:00
2022-01-14 03:01:56 +00:00
< script src = "https://cdnjs.cloudflare.com/ajax/libs/markdown-it/12.3.2/markdown-it.min.js" > < / script >
2022-05-17 16:12:31 +00:00
< script src = "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/highlight.min.js" > < / script >
< script src = "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/languages/rust.min.js" > < / script >
2016-07-12 12:11:18 +00:00
< script src = "https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.12/angular.min.js" > < / script >
2022-04-26 22:22:37 +00:00
< script src = "script.js" > < / script >
2016-07-12 12:11:18 +00:00
< / body >
2022-05-05 22:27:56 +00:00
< / html >