Clippy lints / Suspicious
Clippy lint · Suspicious · checked with Clippy 0.1.99
clippy::empty_line_after_doc_comments: empty line after doc comment
What it meansChecks for empty lines after doc comments. It is in the suspicious group and warns by default.
What you see
warning: empty line after doc comment --> main.rs:3:1 | 3 | / /// Some doc comment with a blank line after it. 4 | | | |_^ 5 | fn f() {} | ---- the comment documents this function | = help: for further information visit https://rust-lang.github.io/rust-clippy/stable/index.html#empty_line_after_doc_comments = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default = help: if the empty line is unintentional, remove it
Real output of Clippy 0.1.99 (Rust 1.99) on the example below. Names and line numbers in yours will differ.
Does it matter?
The doc comment may have meant to be an inner doc comment, regular comment or applied to some old code that is now commented out. If it was intended to be a doc comment, then the empty line should be removed.
Code that is most likely wrong or useless. Warns by default.
How to fix it
Clippy does not fix this one automatically (its suggestion may change behaviour, so it only shows it). Change the code by hand:
Flagged
/// Some doc comment with a blank line after it.
fn f() {}
/// Docs for `old_code`
// fn old_code() {}
fn new_code() {}
Write this instead
//! Convert it to an inner doc comment
// Or a regular comment
/// Or remove the empty line
fn f() {}
// /// Docs for `old_code`
// fn old_code() {}
fn new_code() {}
Turn it off, or on
Allow it where it does not fit your code, as narrowly as you can:
On one item
#[allow(clippy::empty_line_after_doc_comments)]
fn my_function() { /* ... */ }Whole crate (Cargo.toml)
[lints.clippy]
empty_line_after_doc_comments = "allow"One run
cargo clippy -- -A clippy::empty-line-after-doc-commentsThe [lints] table needs Rust 1.74 or newer. In a workspace, put it under [workspace.lints.clippy] and add [lints] workspace = true to each member.
Clippy's own documentation
What it does
Checks for empty lines after doc comments.
Why is this bad?
The doc comment may have meant to be an inner doc comment, regular comment or applied to some old code that is now commented out. If it was intended to be a doc comment, then the empty line should be removed.
Example
/// Some doc comment with a blank line after it.
fn f() {}
/// Docs for `old_code`
// fn old_code() {}
fn new_code() {}
Use instead:
//! Convert it to an inner doc comment
// Or a regular comment
/// Or remove the empty line
fn f() {}
// /// Docs for `old_code`
// fn old_code() {}
fn new_code() {}
From the Clippy lint list (0.1.99), part of the Rust project, MIT or Apache-2.0. Official entry.
Related lints
- duplicate_modfile is loaded as a module multiple times: `main.rs`
- duplicated_attributesduplicated attribute
- empty_docsempty doc comment
- empty_line_after_outer_attrempty line after outer attribute
- empty_loopempty `loop {}` wastes CPU cycles
- float_equality_without_absfloat equality check without `.abs()`
All 847 Clippy lints · Rust compiler errors · Cargo.toml checker
Up next
Related lintclippy::duplicate_modfile is loaded as a module multiple times: `main.rs`Read it next →Did this answer your question?