From 36c8aaba8f9b525aaf37adec52592f4302cb8e12 Mon Sep 17 00:00:00 2001 From: BO41 Date: Mon, 20 May 2019 16:02:50 +0200 Subject: [PATCH] Fix tests and make other ascii lints auto-fixable --- clippy_lints/src/unicode.rs | 42 +++++++++++++------------------------ tests/ui/unicode.stderr | 6 ------ 2 files changed, 15 insertions(+), 33 deletions(-) diff --git a/clippy_lints/src/unicode.rs b/clippy_lints/src/unicode.rs index ceae97a1d..15c74eff7 100644 --- a/clippy_lints/src/unicode.rs +++ b/clippy_lints/src/unicode.rs @@ -1,4 +1,4 @@ -use crate::utils::{is_allowed, snippet, span_help_and_lint, span_lint_and_sugg}; +use crate::utils::{is_allowed, snippet, span_lint_and_sugg}; use rustc::hir::*; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; use rustc::{declare_lint_pass, declare_tool_lint}; @@ -92,15 +92,14 @@ fn escape>(s: T) -> String { fn check_str(cx: &LateContext<'_, '_>, span: Span, id: HirId) { let string = snippet(cx, span, ""); if string.contains('\u{200B}') { - span_help_and_lint( + span_lint_and_sugg( cx, ZERO_WIDTH_SPACE, span, "zero-width space detected", - &format!( - "Consider replacing the string with:\n\"{}\"", - string.replace("\u{200B}", "\\u{200B}") - ), + "consider replacing the string with", + string.replace("\u{200B}", "\\u{200B}"), + Applicability::MachineApplicable, ); } if string.chars().any(|c| c as u32 > 0x7F) { @@ -109,35 +108,24 @@ fn check_str(cx: &LateContext<'_, '_>, span: Span, id: HirId) { NON_ASCII_LITERAL, span, "literal non-ASCII character detected", - &format!( - "Consider replacing the string with:\n\"{}\"", - if is_allowed(cx, UNICODE_NOT_NFC, id) { - escape(string.chars()) - } else { - escape(string.nfc()) - } - ), - format!( - "{}", - if is_allowed(cx, UNICODE_NOT_NFC, id) { - escape(string.chars()) - } else { - escape(string.nfc()) - } - ), + "consider replacing the string with", + if is_allowed(cx, UNICODE_NOT_NFC, id) { + escape(string.chars()) + } else { + escape(string.nfc()) + }, Applicability::MachineApplicable, ); } if is_allowed(cx, NON_ASCII_LITERAL, id) && string.chars().zip(string.nfc()).any(|(a, b)| a != b) { - span_help_and_lint( + span_lint_and_sugg( cx, UNICODE_NOT_NFC, span, "non-nfc unicode sequence detected", - &format!( - "Consider replacing the string with:\n\"{}\"", - string.nfc().collect::() - ), + "consider replacing the string with", + string.nfc().collect::(), + Applicability::MachineApplicable, ); } } diff --git a/tests/ui/unicode.stderr b/tests/ui/unicode.stderr index c60dcdaec..641680431 100644 --- a/tests/ui/unicode.stderr +++ b/tests/ui/unicode.stderr @@ -5,8 +5,6 @@ LL | print!("Here >​< is a ZWS, and ​another"); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `-D clippy::zero-width-space` implied by `-D warnings` - = help: Consider replacing the string with: - ""Here >/u{200B}< is a ZWS, and /u{200B}another"" error: non-nfc unicode sequence detected --> $DIR/unicode.rs:9:12 @@ -15,8 +13,6 @@ LL | print!("̀àh?"); | ^^^^^ | = note: `-D clippy::unicode-not-nfc` implied by `-D warnings` - = help: Consider replacing the string with: - ""̀àh?"" error: literal non-ASCII character detected --> $DIR/unicode.rs:15:12 @@ -25,8 +21,6 @@ LL | print!("Üben!"); | ^^^^^^^ | = note: `-D clippy::non-ascii-literal` implied by `-D warnings` - = help: Consider replacing the string with: - ""/u{dc}ben!"" error: aborting due to 3 previous errors