diff --git a/master/index.html b/master/index.html index 44149d0afd13..736062754bcb 100644 --- a/master/index.html +++ b/master/index.html @@ -193,7 +193,7 @@

Configuration

(default: current version)

-
Applicability: Unspecified(?)
Added in: pre 1.29.0
Related Issues
View Source

What it does

+
Applicability: Unspecified(?)
Added in: pre 1.29.0

What it does

Confirms that items are sorted in source files as per configuration.

Why restrict this?

Keeping a consistent ordering throughout the codebase helps with working @@ -1477,7 +1477,7 @@

Configuration

(default: 25)

-
Applicability: Unspecified(?)
Added in: 1.35.0

What it does

+
Applicability: Unspecified(?)
Added in: 1.35.0

What it does

Checks for collapsible else { if ... } expressions that can be collapsed to else if ....

Why is this bad?

@@ -2077,7 +2077,7 @@

Example

#[derive(Ord, PartialOrd, PartialEq, Eq)]
 struct Foo;
 
-
Applicability: Unspecified(?)
Added in: 1.47.0

What it does

+
Applicability: Unspecified(?)
Added in: 1.47.0

What it does

Checks for types that derive PartialEq and could implement Eq.

Why is this bad?

If a type T derives PartialEq and all of its members implement Eq, @@ -2098,7 +2098,7 @@

Example

i_am_eq_too: Vec<String>, } -
Applicability: MachineApplicable(?)
Added in: 1.63.0

What it does

+
Applicability: MachineApplicable(?)
Added in: 1.63.0

What it does

Lints against manual PartialEq implementations for types with a derived Hash implementation.

Why is this bad?

@@ -2120,7 +2120,7 @@

Past names

  • derive_hash_xor_eq
-
Applicability: Unspecified(?)
Added in: pre 1.29.0

What it does

+
Applicability: Unspecified(?)
Added in: pre 1.29.0

What it does

Denies the configured macros in clippy.toml

Note: Even though this lint is warn-by-default, it will only trigger if macros are defined in the clippy.toml file.

@@ -2317,7 +2317,7 @@

Example

Use instead:

#![cfg_attr(doc, doc = include_str!("some_file.md"))]
 
-
Applicability: MachineApplicable(?)
Added in: 1.84.0

What it does

+
Applicability: MachineApplicable(?)
Added in: 1.84.0

What it does

In CommonMark Markdown, the language used to write doc comments, a paragraph nested within a list or block quote does not need any line after the first one to be indented or marked. The specification calls @@ -2353,7 +2353,7 @@

Example

/// * Then do something. Whatever it is needs done, /// it should be done right now. -
Applicability: MachineApplicable(?)
Added in: 1.80.0

What it does

+
Applicability: Unspecified(?)
Added in: 1.63.0

What it does

Checks for the presence of _, :: or camel-case words outside ticks in documentation.

Why is this bad?

@@ -2409,7 +2409,7 @@

Configuration

(default: ["KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "MHz", "GHz", "THz", "AccessKit", "CoAP", "CoreFoundation", "CoreGraphics", "CoreText", "DevOps", "Direct2D", "Direct3D", "DirectWrite", "DirectX", "ECMAScript", "GPLv2", "GPLv3", "GitHub", "GitLab", "IPv4", "IPv6", "ClojureScript", "CoffeeScript", "JavaScript", "PostScript", "PureScript", "TypeScript", "WebAssembly", "NaN", "NaNs", "OAuth", "GraphQL", "OCaml", "OpenAL", "OpenDNS", "OpenGL", "OpenMP", "OpenSSH", "OpenSSL", "OpenStreetMap", "OpenTelemetry", "OpenType", "WebGL", "WebGL2", "WebGPU", "WebRTC", "WebSocket", "WebTransport", "WebP", "OpenExr", "YCbCr", "sRGB", "TensorFlow", "TrueType", "iOS", "macOS", "FreeBSD", "NetBSD", "OpenBSD", "TeX", "LaTeX", "BibTeX", "BibLaTeX", "MinGW", "CamelCase"])

-
Applicability: MachineApplicable(?)
Added in: pre 1.29.0

What it does

+
Applicability: MachineApplicable(?)
Added in: pre 1.29.0

What it does

Warns if a link reference definition appears at the start of a list item or quote.

Why is this bad?

@@ -2424,7 +2424,7 @@

Example

//! //! [link]: destination (for link reference definition) -
Applicability: MaybeIncorrect(?)
Added in: 1.84.0

What it does

+
Applicability: MaybeIncorrect(?)
Added in: 1.84.0

What it does

Checks for double comparisons that could be simplified to a single expression.

Why is this bad?

Readability.

@@ -2648,7 +2648,7 @@

Example

true } -
Applicability: Unspecified(?)
Added in: 1.78.0

What it does

+
Applicability: Unspecified(?)
Added in: 1.78.0

What it does

Checks for empty Drop implementations.

Why restrict this?

Empty Drop implementations have no effect when dropping an instance of the type. They are @@ -2756,7 +2756,7 @@

Example

fn new_code() {} -
Applicability: MaybeIncorrect(?)
Added in: 1.70.0

What it does

+
Applicability: MaybeIncorrect(?)
Added in: 1.70.0

What it does

Checks for empty lines after outer attributes

Why is this bad?

The attribute may have meant to be an inner attribute (#![attr]). If @@ -2779,7 +2779,7 @@

Example

#[allow(dead_code)] fn this_is_fine_too() {} -
Applicability: MaybeIncorrect(?)
Added in: pre 1.29.0

What it does

+
Applicability: MaybeIncorrect(?)
Added in: pre 1.29.0

What it does

Checks for empty loop expressions.

Why is this bad?

These busy loops burn CPU cycles without doing @@ -3155,7 +3155,7 @@

Example

// .. } -
Applicability: Unspecified(?)
Added in: pre 1.29.0

What it does

+
Applicability: Unspecified(?)
Added in: pre 1.29.0

What it does

Checks for dereferencing expressions which would be covered by auto-deref.

Why is this bad?

This unnecessarily complicates the code.

@@ -5907,7 +5907,7 @@

Example

#[macro_use]
 use some_macro;
 
-
Applicability: MaybeIncorrect(?)
Added in: 1.44.0

What it does

+
Applicability: MaybeIncorrect(?)
Added in: 1.44.0

What it does

Checks for recursion using the entrypoint.

Why is this bad?

Apart from special setups (which we could detect following attributes like #![no_std]), @@ -7611,7 +7611,7 @@

Configuration

(default: false)

-
Applicability: Unspecified(?)
Added in: pre 1.29.0

What it does

+
Applicability: Unspecified(?)
Added in: pre 1.29.0

What it does

Checks for imports that do not rename the item as specified in the enforced-import-renames config option.

Note: Even though this lint is warn-by-default, it will only trigger if @@ -7662,7 +7662,7 @@

Configuration

(default: false)

-
Applicability: Unspecified(?)
Added in: 1.41.0

What it does

+
Applicability: Unspecified(?)
Added in: 1.41.0

What it does

Checks for manual core::fmt::Debug implementations that do not use all fields.

Why is this bad?

A common mistake is to forget to update manual Debug implementations when adding a new field @@ -7782,7 +7782,7 @@

Configuration

(default: false)

-
Applicability: Unspecified(?)
Added in: 1.51.0

What it does

+
Applicability: Unspecified(?)
Added in: 1.51.0

What it does

Checks for the doc comments of publicly visible unsafe functions and warns if there is no # Safety section.

Why is this bad?

@@ -7809,7 +7809,7 @@

Configuration

(default: false)

-
Applicability: Unspecified(?)
Added in: 1.39.0

What it does

+
Applicability: Unspecified(?)
Added in: 1.39.0

What it does

Checks for empty spin loops

Why is this bad?

The loop body should have something like thread::park() or at least @@ -8692,7 +8692,7 @@

Examples

unimplemented!(); } -
Applicability: Unspecified(?)
Added in: 1.40.0

What it does

+
Applicability: Unspecified(?)
Added in: 1.40.0

What it does

Checks for empty else branches.

Why is this bad?

An empty else branch does nothing and can be removed.

@@ -8945,7 +8945,7 @@

Example

assert_eq!(v.len(), 42); } -
Applicability: MaybeIncorrect(?)
Added in: pre 1.29.0

What it does

+
Applicability: MaybeIncorrect(?)
Added in: pre 1.29.0

What it does

Checks for usage of pub(self) and pub(in self).

Why is this bad?

It’s unnecessary, omitting the pub entirely will give the same results.

@@ -9495,7 +9495,7 @@

Example

if a {}
 if a != b {}
 
-
Applicability: MachineApplicable(?)
Added in: pre 1.29.0

What it does

+
Applicability: MachineApplicable(?)
Added in: pre 1.29.0

What it does

Checks for duplicate open options as well as combinations that make no sense.

Why is this bad?

@@ -9931,7 +9931,7 @@

Past names

  • logic_bug
-
Applicability: Unspecified(?)
Added in: pre 1.29.0

What it does

+
Applicability: Unspecified(?)
Added in: pre 1.29.0

What it does

Checks for usage of panic!.

Why restrict this?

This macro, or panics in general, may be unwanted in production code.

@@ -12799,7 +12799,7 @@

Example

pub fn dummy() {} } -
Applicability: MaybeIncorrect(?)
Added in: 1.70.0

What it does

+
Applicability: MaybeIncorrect(?)
Added in: 1.70.0

What it does

Checks for formatting of else. It lints if the else is followed immediately by a newline or the else seems to be missing.

Why is this bad?

@@ -13073,7 +13073,7 @@

Examples

unimplemented!(); } -
Applicability: Unspecified(?)
Added in: 1.76.0

What it does

+
Applicability: Unspecified(?)
Added in: 1.76.0

What it does

Triggers when a testing function (marked with the #[test] attribute) isn’t inside a testing module (marked with #[cfg(test)]).

Why restrict this?

@@ -13154,7 +13154,7 @@

Example

} } -
Applicability: Unspecified(?)
Added in: 1.78.0

What it does

+
Applicability: Unspecified(?)
Added in: 1.78.0

What it does

Checks for usage of todo!.

Why restrict this?

The todo! macro indicates the presence of unfinished code, @@ -13185,7 +13185,7 @@

Example

/// and probably spanning a many rows. struct Foo {} -
Applicability: MachineApplicable(?)
Added in: 1.82.0

What it does

+
Applicability: MachineApplicable(?)
Added in: 1.82.0

What it does

Checks for functions with too many parameters.

Why is this bad?

Functions with lots of parameters are considered bad @@ -14408,7 +14408,7 @@

Configuration

(default: false)

-
Applicability: Unspecified(?)
Added in: 1.67.0

What it does

+
Applicability: Unspecified(?)
Added in: 1.67.0

What it does

Checks for imports ending in ::{self}.

Why restrict this?

In most cases, this can be written much more cleanly by omitting ::{self}.

@@ -14649,7 +14649,7 @@

Example

} } -
Applicability: Unspecified(?)
Added in: 1.45.0

What it does

+
Applicability: Unspecified(?)
Added in: 1.45.0

What it does

Checks for imports that remove “unsafe” from an item’s name.

Why is this bad?