replace reference with value
This commit is contained in:
parent
de92da2974
commit
55fdd1e78c
@ -3,7 +3,7 @@ use clippy_utils::{diagnostics::span_lint_and_sugg, higher, in_constant, macros:
|
|||||||
use rustc_ast::ast::RangeLimits;
|
use rustc_ast::ast::RangeLimits;
|
||||||
use rustc_ast::LitKind::{Byte, Char};
|
use rustc_ast::LitKind::{Byte, Char};
|
||||||
use rustc_errors::Applicability;
|
use rustc_errors::Applicability;
|
||||||
use rustc_hir::{Expr, ExprKind, PatKind, RangeEnd};
|
use rustc_hir::{BorrowKind, Expr, ExprKind, PatKind, RangeEnd};
|
||||||
use rustc_lint::{LateContext, LateLintPass};
|
use rustc_lint::{LateContext, LateLintPass};
|
||||||
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
use rustc_session::{declare_tool_lint, impl_lint_pass};
|
||||||
use rustc_span::{def_id::DefId, sym, Span};
|
use rustc_span::{def_id::DefId, sym, Span};
|
||||||
@ -87,9 +87,13 @@ impl<'tcx> LateLintPass<'tcx> for ManualIsAsciiCheck {
|
|||||||
&& let Some(higher::Range { start: Some(start), end: Some(end), limits: RangeLimits::Closed })
|
&& let Some(higher::Range { start: Some(start), end: Some(end), limits: RangeLimits::Closed })
|
||||||
= higher::Range::hir(receiver) {
|
= higher::Range::hir(receiver) {
|
||||||
let range = check_range(start, end);
|
let range = check_range(start, end);
|
||||||
|
if let ExprKind::AddrOf(BorrowKind::Ref, _, e) = arg.kind {
|
||||||
|
check_is_ascii(cx, expr.span, e, &range);
|
||||||
|
} else {
|
||||||
check_is_ascii(cx, expr.span, arg, &range);
|
check_is_ascii(cx, expr.span, arg, &range);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
extract_msrv_attr!(LateContext);
|
extract_msrv_attr!(LateContext);
|
||||||
}
|
}
|
||||||
|
@ -16,13 +16,13 @@ fn main() {
|
|||||||
|
|
||||||
assert!(matches!('x', 'A'..='Z' | 'a'..='z' | '_'));
|
assert!(matches!('x', 'A'..='Z' | 'a'..='z' | '_'));
|
||||||
|
|
||||||
assert!(&b'0'.is_ascii_digit());
|
assert!(b'0'.is_ascii_digit());
|
||||||
assert!(&b'a'.is_ascii_lowercase());
|
assert!(b'a'.is_ascii_lowercase());
|
||||||
assert!(&b'A'.is_ascii_uppercase());
|
assert!(b'A'.is_ascii_uppercase());
|
||||||
|
|
||||||
assert!(&'0'.is_ascii_digit());
|
assert!('0'.is_ascii_digit());
|
||||||
assert!(&'a'.is_ascii_lowercase());
|
assert!('a'.is_ascii_lowercase());
|
||||||
assert!(&'A'.is_ascii_uppercase());
|
assert!('A'.is_ascii_uppercase());
|
||||||
}
|
}
|
||||||
|
|
||||||
#[clippy::msrv = "1.23"]
|
#[clippy::msrv = "1.23"]
|
||||||
|
@ -46,37 +46,37 @@ error: manual check for common ascii range
|
|||||||
--> $DIR/manual_is_ascii_check.rs:19:13
|
--> $DIR/manual_is_ascii_check.rs:19:13
|
||||||
|
|
|
|
||||||
LL | assert!((b'0'..=b'9').contains(&b'0'));
|
LL | assert!((b'0'..=b'9').contains(&b'0'));
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&b'0'.is_ascii_digit()`
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `b'0'.is_ascii_digit()`
|
||||||
|
|
||||||
error: manual check for common ascii range
|
error: manual check for common ascii range
|
||||||
--> $DIR/manual_is_ascii_check.rs:20:13
|
--> $DIR/manual_is_ascii_check.rs:20:13
|
||||||
|
|
|
|
||||||
LL | assert!((b'a'..=b'z').contains(&b'a'));
|
LL | assert!((b'a'..=b'z').contains(&b'a'));
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&b'a'.is_ascii_lowercase()`
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `b'a'.is_ascii_lowercase()`
|
||||||
|
|
||||||
error: manual check for common ascii range
|
error: manual check for common ascii range
|
||||||
--> $DIR/manual_is_ascii_check.rs:21:13
|
--> $DIR/manual_is_ascii_check.rs:21:13
|
||||||
|
|
|
|
||||||
LL | assert!((b'A'..=b'Z').contains(&b'A'));
|
LL | assert!((b'A'..=b'Z').contains(&b'A'));
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&b'A'.is_ascii_uppercase()`
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `b'A'.is_ascii_uppercase()`
|
||||||
|
|
||||||
error: manual check for common ascii range
|
error: manual check for common ascii range
|
||||||
--> $DIR/manual_is_ascii_check.rs:23:13
|
--> $DIR/manual_is_ascii_check.rs:23:13
|
||||||
|
|
|
|
||||||
LL | assert!(('0'..='9').contains(&'0'));
|
LL | assert!(('0'..='9').contains(&'0'));
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&'0'.is_ascii_digit()`
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `'0'.is_ascii_digit()`
|
||||||
|
|
||||||
error: manual check for common ascii range
|
error: manual check for common ascii range
|
||||||
--> $DIR/manual_is_ascii_check.rs:24:13
|
--> $DIR/manual_is_ascii_check.rs:24:13
|
||||||
|
|
|
|
||||||
LL | assert!(('a'..='z').contains(&'a'));
|
LL | assert!(('a'..='z').contains(&'a'));
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&'a'.is_ascii_lowercase()`
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `'a'.is_ascii_lowercase()`
|
||||||
|
|
||||||
error: manual check for common ascii range
|
error: manual check for common ascii range
|
||||||
--> $DIR/manual_is_ascii_check.rs:25:13
|
--> $DIR/manual_is_ascii_check.rs:25:13
|
||||||
|
|
|
|
||||||
LL | assert!(('A'..='Z').contains(&'A'));
|
LL | assert!(('A'..='Z').contains(&'A'));
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&'A'.is_ascii_uppercase()`
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `'A'.is_ascii_uppercase()`
|
||||||
|
|
||||||
error: manual check for common ascii range
|
error: manual check for common ascii range
|
||||||
--> $DIR/manual_is_ascii_check.rs:37:13
|
--> $DIR/manual_is_ascii_check.rs:37:13
|
||||||
|
Loading…
x
Reference in New Issue
Block a user