Auto merge of #6895 - iobtl:reformat_unnecessary_cast, r=llogiq
replace span_lint with span_lint_and_sugg along with error message fixes: #6874 changelog: none apologies if this may not be the most idiomatic way of doing it, any advice on changes (if any) would be greatly appreciated.
This commit is contained in:
commit
52c25e9136
@ -7,7 +7,7 @@ use rustc_middle::ty::{self, FloatTy, InferTy, Ty};
|
||||
|
||||
use if_chain::if_chain;
|
||||
|
||||
use crate::utils::{numeric_literal::NumericLiteral, snippet_opt, span_lint, span_lint_and_sugg};
|
||||
use crate::utils::{numeric_literal::NumericLiteral, snippet_opt, span_lint_and_sugg};
|
||||
|
||||
use super::UNNECESSARY_CAST;
|
||||
|
||||
@ -44,9 +44,18 @@ pub(super) fn check(
|
||||
lint_unnecessary_cast(cx, expr, &literal_str, cast_from, cast_to);
|
||||
},
|
||||
LitKind::Int(_, LitIntType::Unsuffixed) | LitKind::Float(_, LitFloatType::Unsuffixed) => {},
|
||||
LitKind::Int(_, LitIntType::Signed(_) | LitIntType::Unsigned(_))
|
||||
| LitKind::Float(_, LitFloatType::Suffixed(_))
|
||||
if cast_from.kind() == cast_to.kind() =>
|
||||
{
|
||||
if let Some(src) = snippet_opt(cx, lit.span) {
|
||||
let num_lit = NumericLiteral::from_lit_kind(&src, &lit.node).unwrap();
|
||||
lint_unnecessary_cast(cx, expr, num_lit.integer, cast_from, cast_to);
|
||||
}
|
||||
},
|
||||
_ => {
|
||||
if cast_from.kind() == cast_to.kind() && !in_external_macro(cx.sess(), expr.span) {
|
||||
span_lint(
|
||||
span_lint_and_sugg(
|
||||
cx,
|
||||
UNNECESSARY_CAST,
|
||||
expr.span,
|
||||
@ -54,6 +63,9 @@ pub(super) fn check(
|
||||
"casting to the same type is unnecessary (`{}` -> `{}`)",
|
||||
cast_from, cast_to
|
||||
),
|
||||
"try",
|
||||
literal_str,
|
||||
Applicability::MachineApplicable,
|
||||
);
|
||||
return true;
|
||||
}
|
||||
|
@ -1,22 +1,22 @@
|
||||
error: casting to the same type is unnecessary (`i32` -> `i32`)
|
||||
error: casting integer literal to `i32` is unnecessary
|
||||
--> $DIR/unnecessary_cast.rs:6:5
|
||||
|
|
||||
LL | 1i32 as i32;
|
||||
| ^^^^^^^^^^^
|
||||
| ^^^^^^^^^^^ help: try: `1_i32`
|
||||
|
|
||||
= note: `-D clippy::unnecessary-cast` implied by `-D warnings`
|
||||
|
||||
error: casting to the same type is unnecessary (`f32` -> `f32`)
|
||||
error: casting float literal to `f32` is unnecessary
|
||||
--> $DIR/unnecessary_cast.rs:7:5
|
||||
|
|
||||
LL | 1f32 as f32;
|
||||
| ^^^^^^^^^^^
|
||||
| ^^^^^^^^^^^ help: try: `1_f32`
|
||||
|
||||
error: casting to the same type is unnecessary (`bool` -> `bool`)
|
||||
--> $DIR/unnecessary_cast.rs:8:5
|
||||
|
|
||||
LL | false as bool;
|
||||
| ^^^^^^^^^^^^^
|
||||
| ^^^^^^^^^^^^^ help: try: `false`
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user