diff options
| author | bors <bors@rust-lang.org> | 2017-10-02 07:03:26 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2017-10-02 07:03:26 +0000 |
| commit | 9ae6ed78acf9dc865e2300a7db556389eed9692d (patch) | |
| tree | a88473a1d7bb97b8a08866c02e68f965cad25362 /src/test | |
| parent | 2146c613d12de8dc44bc26e50af55251fc7e4f9c (diff) | |
| parent | 8a14022c5d31e1648bd1212a52a9f1a9ddbf3fa1 (diff) | |
Auto merge of #44942 - zackmdavis:lint_suggestions, r=estebank
code suggestions for unused-mut, while-true, deprecated-attribute, and unused-parens lints  r? @estebank
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/compile-fail/feature-gate-no-debug.rs | 2 | ||||
| -rw-r--r-- | src/test/compile-fail/issue-1962.rs | 2 | ||||
| -rw-r--r-- | src/test/ui/lint/suggestions.rs | 20 | ||||
| -rw-r--r-- | src/test/ui/lint/suggestions.stderr | 45 | ||||
| -rw-r--r-- | src/test/ui/lint/unused_parens_json_suggestion.rs | 25 | ||||
| -rw-r--r-- | src/test/ui/lint/unused_parens_json_suggestion.stderr | 1 | ||||
| -rw-r--r-- | src/test/ui/path-lookahead.stderr | 2 |
7 files changed, 94 insertions, 3 deletions
diff --git a/src/test/compile-fail/feature-gate-no-debug.rs b/src/test/compile-fail/feature-gate-no-debug.rs index 9815db6550d..d21493de50a 100644 --- a/src/test/compile-fail/feature-gate-no-debug.rs +++ b/src/test/compile-fail/feature-gate-no-debug.rs @@ -10,5 +10,5 @@ #![allow(deprecated)] -#[no_debug] //~ ERROR the `#[no_debug]` attribute is +#[no_debug] //~ ERROR the `#[no_debug]` attribute was fn main() {} diff --git a/src/test/compile-fail/issue-1962.rs b/src/test/compile-fail/issue-1962.rs index db3e9c23b76..9de3040bb61 100644 --- a/src/test/compile-fail/issue-1962.rs +++ b/src/test/compile-fail/issue-1962.rs @@ -11,7 +11,7 @@ // compile-flags: -D while-true fn main() { let mut i = 0; - while true { //~ ERROR denote infinite loops with loop + while true { //~ ERROR denote infinite loops with `loop i += 1; if i == 5 { break; } } diff --git a/src/test/ui/lint/suggestions.rs b/src/test/ui/lint/suggestions.rs new file mode 100644 index 00000000000..874124a7d36 --- /dev/null +++ b/src/test/ui/lint/suggestions.rs @@ -0,0 +1,20 @@ +// Copyright 2017 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +#![warn(unused_mut)] // UI tests pass `-A unused`—see Issue #43896 +#![feature(no_debug)] + +#[no_debug] // should suggest removal of deprecated attribute +fn main() { + while true { // should suggest `loop` + let mut a = (1); // should suggest no `mut`, no parens + println!("{}", a); + } +} diff --git a/src/test/ui/lint/suggestions.stderr b/src/test/ui/lint/suggestions.stderr new file mode 100644 index 00000000000..5b2a4f589f7 --- /dev/null +++ b/src/test/ui/lint/suggestions.stderr @@ -0,0 +1,45 @@ +warning: unnecessary parentheses around assigned value + --> $DIR/suggestions.rs:17:21 + | +17 | let mut a = (1); // should suggest no `mut`, no parens + | ^^^ help: remove these parentheses + | + = note: #[warn(unused_parens)] on by default + +warning: use of deprecated attribute `no_debug`: the `#[no_debug]` attribute was an experimental feature that has been deprecated due to lack of demand. See https://github.com/rust-lang/rust/issues/29721 + --> $DIR/suggestions.rs:14:1 + | +14 | #[no_debug] // should suggest removal of deprecated attribute + | ^^^^^^^^^^^ help: remove this attribute + | + = note: #[warn(deprecated)] on by default + +warning: denote infinite loops with `loop { ... }` + --> $DIR/suggestions.rs:16:5 + | +16 | while true { // should suggest `loop` + | ^--------- + | | + | _____help: use `loop` + | | +17 | | let mut a = (1); // should suggest no `mut`, no parens +18 | | println!("{}", a); +19 | | } + | |_____^ + | + = note: #[warn(while_true)] on by default + +warning: variable does not need to be mutable + --> $DIR/suggestions.rs:17:13 + | +17 | let mut a = (1); // should suggest no `mut`, no parens + | ---^^ + | | + | help: remove this `mut` + | +note: lint level defined here + --> $DIR/suggestions.rs:11:9 + | +11 | #![warn(unused_mut)] // UI tests pass `-A unused`—see Issue #43896 + | ^^^^^^^^^^ + diff --git a/src/test/ui/lint/unused_parens_json_suggestion.rs b/src/test/ui/lint/unused_parens_json_suggestion.rs new file mode 100644 index 00000000000..d7cbd11472a --- /dev/null +++ b/src/test/ui/lint/unused_parens_json_suggestion.rs @@ -0,0 +1,25 @@ +// Copyright 2017 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// compile-flags: --error-format json + +// ignore-windows (see Issue #44968) + +// The output for humans should just highlight the whole span without showing +// the suggested replacement, but we also want to test that suggested +// replacement only removes one set of parentheses, rather than naïvely +// stripping away any starting or ending parenthesis characters—hence this +// test of the JSON error format. + +fn main() { + // We want to suggest the properly-balanced expression `1 / (2 + 3)`, not + // the malformed `1 / (2 + 3` + let _a = (1 / (2 + 3)); +} diff --git a/src/test/ui/lint/unused_parens_json_suggestion.stderr b/src/test/ui/lint/unused_parens_json_suggestion.stderr new file mode 100644 index 00000000000..140224e0814 --- /dev/null +++ b/src/test/ui/lint/unused_parens_json_suggestion.stderr @@ -0,0 +1 @@ +{"message":"unnecessary parentheses around assigned value","code":null,"level":"warning","spans":[{"file_name":"$DIR/unused_parens_json_suggestion.rs","byte_start":1014,"byte_end":1027,"line_start":24,"line_end":24,"column_start":14,"column_end":27,"is_primary":true,"text":[{"text":" let _a = (1 / (2 + 3));","highlight_start":14,"highlight_end":27}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"#[warn(unused_parens)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove these parentheses","code":null,"level":"help","spans":[{"file_name":"$DIR/unused_parens_json_suggestion.rs","byte_start":1014,"byte_end":1027,"line_start":24,"line_end":24,"column_start":14,"column_end":27,"is_primary":true,"text":[{"text":" let _a = (1 / (2 + 3));","highlight_start":14,"highlight_end":27}],"label":null,"suggested_replacement":"1 / (2 + 3)","expansion":null}],"children":[],"rendered":" let _a = 1 / (2 + 3);"}],"rendered":null} diff --git a/src/test/ui/path-lookahead.stderr b/src/test/ui/path-lookahead.stderr index 1d4ab35046b..19e22b3f6f9 100644 --- a/src/test/ui/path-lookahead.stderr +++ b/src/test/ui/path-lookahead.stderr @@ -2,7 +2,7 @@ warning: unnecessary parentheses around `return` value --> $DIR/path-lookahead.rs:18:10 | 18 | return (<T as ToString>::to_string(&arg)); //~WARN unnecessary parentheses around `return` value - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses | = note: #[warn(unused_parens)] on by default |
