diff --git a/README.md b/README.md index 4644bac94cd..d2e5049f8e1 100644 --- a/README.md +++ b/README.md @@ -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. diff --git a/src/strings.rs b/src/strings.rs index 33db980c065..226b851e991 100644 --- a/src/strings.rs +++ b/src/strings.rs @@ -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)]