Improve the help message + add a help span

This commit is contained in:
blyxyas 2023-04-23 12:52:45 +02:00
parent 419552227f
commit acf50a7dc6
No known key found for this signature in database
GPG Key ID: 4D38170B5A2FC334
2 changed files with 33 additions and 7 deletions

View File

@ -6,6 +6,7 @@ use rustc_lint::{LateContext, LateLintPass};
use rustc_middle::lint::in_external_macro;
use rustc_middle::ty::subst::GenericArgKind;
use rustc_session::{declare_lint_pass, declare_tool_lint};
use rustc_span::{BytePos, Span};
declare_clippy_lint! {
/// ### What it does
@ -205,8 +206,13 @@ impl<'tcx> LateLintPass<'tcx> for LetUnderscore {
LET_UNDERSCORE_UNTYPED,
local.span,
"non-binding `let` without a type annotation",
None,
"consider adding a type annotation or removing the `let` keyword",
Some(
Span::new(local.pat.span.hi(),
local.pat.span.hi() + BytePos(1),
local.pat.span.ctxt(),
local.pat.span.parent()
)),
"consider adding a type annotation",
);
}
}

View File

@ -4,7 +4,11 @@ error: non-binding `let` without a type annotation
LL | let _ = a();
| ^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
help: consider adding a type annotation
--> $DIR/let_underscore_untyped.rs:36:10
|
LL | let _ = a();
| ^
= note: `-D clippy::let-underscore-untyped` implied by `-D warnings`
error: non-binding `let` without a type annotation
@ -13,7 +17,11 @@ error: non-binding `let` without a type annotation
LL | let _ = b(1);
| ^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
help: consider adding a type annotation
--> $DIR/let_underscore_untyped.rs:37:10
|
LL | let _ = b(1);
| ^
error: non-binding `let` without a type annotation
--> $DIR/let_underscore_untyped.rs:39:5
@ -21,7 +29,11 @@ error: non-binding `let` without a type annotation
LL | let _ = d(&1);
| ^^^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
help: consider adding a type annotation
--> $DIR/let_underscore_untyped.rs:39:10
|
LL | let _ = d(&1);
| ^
error: non-binding `let` without a type annotation
--> $DIR/let_underscore_untyped.rs:40:5
@ -29,7 +41,11 @@ error: non-binding `let` without a type annotation
LL | let _ = e();
| ^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
help: consider adding a type annotation
--> $DIR/let_underscore_untyped.rs:40:10
|
LL | let _ = e();
| ^
error: non-binding `let` without a type annotation
--> $DIR/let_underscore_untyped.rs:41:5
@ -37,7 +53,11 @@ error: non-binding `let` without a type annotation
LL | let _ = f();
| ^^^^^^^^^^^^
|
= help: consider adding a type annotation or removing the `let` keyword
help: consider adding a type annotation
--> $DIR/let_underscore_untyped.rs:41:10
|
LL | let _ = f();
| ^
error: aborting due to 5 previous errors