improved string_add/string_add_assign messages, Allow-by-default string_add_assign

This commit is contained in:
llogiq 2015-08-13 11:35:30 +02:00
parent 1f8c29c6ad
commit 71b46d9ecd
2 changed files with 5 additions and 4 deletions

View File

@ -29,7 +29,7 @@ Lints included in this crate:
- `inline_always`: Warns on `#[inline(always)]`, because in most cases it is a bad idea
- `collapsible_if`: Warns on cases where two nested `if`-expressions can be collapsed into one, e.g. `if x { if y { foo() } }` can be written as `if x && y { foo() }`
- `zero_width_space`: Warns on encountering a unicode zero-width space
- `string_add_assign`: Warns on `x = x + ..` where `x` is a `String` and suggests using `push_str(..)` instead.
- `string_add_assign`: Warns on `x = x + ..` where `x` is a `String` and suggests using `push_str(..)` instead. Allowed by default.
- `string_add`: Matches `x + ..` where `x` is a `String` and where `string_add_assign` doesn't warn. Allowed by default.
- `needless_return`: Warns on using `return expr;` when a simple `expr` would suffice.
- `let_and_return`: Warns on doing `let x = expr; x` at the end of a function.

View File

@ -13,14 +13,15 @@ use utils::{match_def_path, span_lint, walk_ptrs_ty, get_parent_expr};
declare_lint! {
pub STRING_ADD_ASSIGN,
Warn,
"Warn on `x = x + ..` where x is a `String`"
Allow,
"expressions of the form `x = x + ..` where x is a `String`"
}
declare_lint! {
pub STRING_ADD,
Allow,
"Warn on `x + ..` where x is a `String`"
"expressions of the form `x + ..` where x is a `String` \
unless `string_add_assign` matches"
}
#[derive(Copy, Clone)]