X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=clippy_lints%2Fsrc%2Fnon_expressive_names.rs;h=7bdeec0a56f0ee0fc53951b92267d12fa9ab9023;hb=6937d5581af14b71e23af0db81241a3fea11c70a;hp=ad8006e92563fedfc96ad557364d933aa8445853;hpb=f5831523d335bc57a6371806b2ea1978942ac490;p=rust.git diff --git a/clippy_lints/src/non_expressive_names.rs b/clippy_lints/src/non_expressive_names.rs index ad8006e9256..7bdeec0a56f 100644 --- a/clippy_lints/src/non_expressive_names.rs +++ b/clippy_lints/src/non_expressive_names.rs @@ -1,72 +1,63 @@ -// Copyright 2014-2018 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -use crate::rustc::lint::{EarlyContext, EarlyLintPass, LintArray, LintPass}; -use crate::rustc::{declare_tool_lint, lint_array}; -use crate::syntax::ast::*; -use crate::syntax::attr; -use crate::syntax::source_map::Span; -use crate::syntax::symbol::LocalInternedString; -use crate::syntax::visit::{walk_block, walk_expr, walk_pat, Visitor}; use crate::utils::{span_lint, span_lint_and_then}; +use rustc::lint::{EarlyContext, EarlyLintPass, LintArray, LintPass}; +use rustc::{declare_tool_lint, lint_array}; +use syntax::ast::*; +use syntax::attr; +use syntax::source_map::Span; +use syntax::symbol::LocalInternedString; +use syntax::visit::{walk_block, walk_expr, walk_pat, Visitor}; -/// **What it does:** Checks for names that are very similar and thus confusing. -/// -/// **Why is this bad?** It's hard to distinguish between names that differ only -/// by a single character. -/// -/// **Known problems:** None? -/// -/// **Example:** -/// ```rust -/// let checked_exp = something; -/// let checked_expr = something_else; -/// ``` declare_clippy_lint! { + /// **What it does:** Checks for names that are very similar and thus confusing. + /// + /// **Why is this bad?** It's hard to distinguish between names that differ only + /// by a single character. + /// + /// **Known problems:** None? + /// + /// **Example:** + /// ```ignore + /// let checked_exp = something; + /// let checked_expr = something_else; + /// ``` pub SIMILAR_NAMES, pedantic, "similarly named items and bindings" } -/// **What it does:** Checks for too many variables whose name consists of a -/// single character. -/// -/// **Why is this bad?** It's hard to memorize what a variable means without a -/// descriptive name. -/// -/// **Known problems:** None? -/// -/// **Example:** -/// ```rust -/// let (a, b, c, d, e, f, g) = (...); -/// ``` declare_clippy_lint! { + /// **What it does:** Checks for too many variables whose name consists of a + /// single character. + /// + /// **Why is this bad?** It's hard to memorize what a variable means without a + /// descriptive name. + /// + /// **Known problems:** None? + /// + /// **Example:** + /// ```ignore + /// let (a, b, c, d, e, f, g) = (...); + /// ``` pub MANY_SINGLE_CHAR_NAMES, style, "too many single character bindings" } -/// **What it does:** Checks if you have variables whose name consists of just -/// underscores and digits. -/// -/// **Why is this bad?** It's hard to memorize what a variable means without a -/// descriptive name. -/// -/// **Known problems:** None? -/// -/// **Example:** -/// ```rust -/// let _1 = 1; -/// let ___1 = 1; -/// let __1___2 = 11; -/// ``` declare_clippy_lint! { + /// **What it does:** Checks if you have variables whose name consists of just + /// underscores and digits. + /// + /// **Why is this bad?** It's hard to memorize what a variable means without a + /// descriptive name. + /// + /// **Known problems:** None? + /// + /// **Example:** + /// ```rust + /// let _1 = 1; + /// let ___1 = 1; + /// let __1___2 = 11; + /// ``` pub JUST_UNDERSCORES_AND_DIGITS, style, "unclear name" @@ -80,6 +71,10 @@ impl LintPass for NonExpressiveNames { fn get_lints(&self) -> LintArray { lint_array!(SIMILAR_NAMES, MANY_SINGLE_CHAR_NAMES, JUST_UNDERSCORES_AND_DIGITS) } + + fn name(&self) -> &'static str { + "NoneExpressiveNames" + } } struct ExistingName { @@ -163,6 +158,7 @@ fn check_short_name(&mut self, c: char, span: Span) { ); } } + #[allow(clippy::too_many_lines)] fn check_name(&mut self, span: Span, name: Name) { let interned_name = name.as_str(); if interned_name.chars().any(char::is_uppercase) { @@ -245,7 +241,7 @@ fn check_name(&mut self, span: Span, name: Name) { // or too many chars differ (x_foo, y_boo) or (xfoo, yboo) continue; } - split_at = interned_name.chars().next().map(|c| c.len_utf8()); + split_at = interned_name.chars().next().map(char::len_utf8); } } span_lint_and_then(