Skip to content

Commit

Permalink
Auto merge of rust-lang#11810 - Jacherr:cast-possible-wrap-link, r=Ma…
Browse files Browse the repository at this point in the history
…nishearth

add help text where missing to lints

Fixes rust-lang/rust-clippy#11805

Essentially just changes the section of code that applies the lint from using `cx.struct_span_lint` and instead opts for `span_lint_and_then`, which automatically appends the help text.

changelog: add missing help text for `cast_possible_wrap`, `mod_module_files`, and `self_named_module_files` lints
  • Loading branch information
bors committed Nov 15, 2023
2 parents 0c42e45 + 11881be commit abf01e4
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 13 deletions.
13 changes: 6 additions & 7 deletions clippy_lints/src/casts/cast_possible_wrap.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
use clippy_utils::diagnostics::span_lint_and_then;
use rustc_hir::Expr;
use rustc_lint::{LateContext, LintContext};
use rustc_lint::LateContext;
use rustc_middle::ty::Ty;

use super::{utils, CAST_POSSIBLE_WRAP};
Expand Down Expand Up @@ -78,13 +79,11 @@ pub(super) fn check(cx: &LateContext<'_>, expr: &Expr<'_>, cast_from: Ty<'_>, ca
),
};

cx.struct_span_lint(CAST_POSSIBLE_WRAP, expr.span, message, |diag| {
span_lint_and_then(cx, CAST_POSSIBLE_WRAP, expr.span, &message, |diag| {
if let EmitState::LintOnPtrSize(16) = should_lint {
diag
.note("`usize` and `isize` may be as small as 16 bits on some platforms")
.note("for more information see https://doc.rust-lang.org/reference/types/numeric.html#machine-dependent-integer-types")
} else {
diag
}
.note("`usize` and `isize` may be as small as 16 bits on some platforms")
.note("for more information see https://doc.rust-lang.org/reference/types/numeric.html#machine-dependent-integer-types");
};
});
}
17 changes: 11 additions & 6 deletions clippy_lints/src/module_style.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
use clippy_utils::diagnostics::span_lint_and_help;
use rustc_ast::ast;
use rustc_data_structures::fx::{FxHashMap, FxHashSet};
use rustc_lint::{EarlyContext, EarlyLintPass, Level, LintContext};
Expand Down Expand Up @@ -124,11 +125,13 @@ impl EarlyLintPass for ModStyle {
correct.pop();
correct.push(folder);
correct.push("mod.rs");
cx.struct_span_lint(
span_lint_and_help(
cx,
SELF_NAMED_MODULE_FILES,
Span::new(file.start_pos, file.start_pos, SyntaxContext::root(), None),
format!("`mod.rs` files are required, found `{}`", path.display()),
|lint| lint.help(format!("move `{}` to `{}`", path.display(), correct.display(),)),
&format!("`mod.rs` files are required, found `{}`", path.display()),
None,
&format!("move `{}` to `{}`", path.display(), correct.display(),),
);
}
}
Expand Down Expand Up @@ -162,11 +165,13 @@ fn check_self_named_mod_exists(cx: &EarlyContext<'_>, path: &Path, file: &Source
mod_file.pop();
mod_file.set_extension("rs");

cx.struct_span_lint(
span_lint_and_help(
cx,
MOD_MODULE_FILES,
Span::new(file.start_pos, file.start_pos, SyntaxContext::root(), None),
format!("`mod.rs` files are not allowed, found `{}`", path.display()),
|lint| lint.help(format!("move `{}` to `{}`", path.display(), mod_file.display())),
&format!("`mod.rs` files are not allowed, found `{}`", path.display()),
None,
&format!("move `{}` to `{}`", path.display(), mod_file.display()),
);
}
}

0 comments on commit abf01e4

Please sign in to comment.