Rollup merge of #63163 - bravomikekilo:master, r=cramertj

add a pair of whitespace after remove parentheses

fix [issue-63156](https://github.com/rust-lang/rust/issues/63156).
add a pair of whitespace after remove parentheses.
This commit is contained in:
Mazdak Farrokhzad 2019-08-07 01:39:28 +02:00 committed by GitHub
commit fb79a74020
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 916 additions and 41 deletions

View file

@ -0,0 +1,27 @@
// compile-flags: --error-format pretty-json -Zunstable-options
// build-pass (FIXME(62277): could be check-pass?)
// run-rustfix
// 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.
#![warn(unused_parens)]
#![allow(unreachable_code)]
fn main() {
// We want to suggest the properly-balanced expression `1 / (2 + 3)`, not
// the malformed `1 / (2 + 3`
let _a = 1 / (2 + 3);
f();
}
fn f() -> bool {
loop {
if (break { return true }) {
}
}
false
}

View file

@ -1,5 +1,6 @@
// compile-flags: --error-format pretty-json -Zunstable-options
// build-pass (FIXME(62277): could be check-pass?)
// run-rustfix
// The output for humans should just highlight the whole span without showing
// the suggested replacement, but we also want to test that suggested
@ -8,6 +9,7 @@
// test of the JSON error format.
#![warn(unused_parens)]
#![allow(unreachable_code)]
fn main() {
// We want to suggest the properly-balanced expression `1 / (2 + 3)`, not

View file

@ -8,10 +8,10 @@
"spans": [
{
"file_name": "$DIR/unused_parens_json_suggestion.rs",
"byte_start": 611,
"byte_end": 624,
"line_start": 15,
"line_end": 15,
"byte_start": 654,
"byte_end": 667,
"line_start": 17,
"line_end": 17,
"column_start": 14,
"column_end": 27,
"is_primary": true,
@ -36,10 +36,10 @@
"spans": [
{
"file_name": "$DIR/unused_parens_json_suggestion.rs",
"byte_start": 457,
"byte_end": 470,
"line_start": 10,
"line_end": 10,
"byte_start": 472,
"byte_end": 485,
"line_start": 11,
"line_end": 11,
"column_start": 9,
"column_end": 22,
"is_primary": true,
@ -66,10 +66,10 @@
"spans": [
{
"file_name": "$DIR/unused_parens_json_suggestion.rs",
"byte_start": 611,
"byte_end": 624,
"line_start": 15,
"line_end": 15,
"byte_start": 654,
"byte_end": 667,
"line_start": 17,
"line_end": 17,
"column_start": 14,
"column_end": 27,
"is_primary": true,
@ -91,13 +91,13 @@
}
],
"rendered": "warning: unnecessary parentheses around assigned value
--> $DIR/unused_parens_json_suggestion.rs:15:14
--> $DIR/unused_parens_json_suggestion.rs:17:14
|
LL | let _a = (1 / (2 + 3));
| ^^^^^^^^^^^^^ help: remove these parentheses
|
note: lint level defined here
--> $DIR/unused_parens_json_suggestion.rs:10:9
--> $DIR/unused_parens_json_suggestion.rs:11:9
|
LL | #![warn(unused_parens)]
| ^^^^^^^^^^^^^

View file

@ -0,0 +1,62 @@
// compile-flags: --error-format pretty-json -Zunstable-options
// build-pass
// run-rustfix
// 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.
#![warn(unused_parens)]
#![allow(unreachable_code)]
fn main() {
let _b = false;
if _b {
println!("hello");
}
f();
}
fn f() -> bool {
let c = false;
if c {
println!("next");
}
if c {
println!("prev");
}
while false && true {
if c {
println!("norm");
}
}
while true && false {
for _ in 0 .. 3 {
println!("e~")
}
}
for _ in 0 .. 3 {
while true && false {
println!("e~")
}
}
loop {
if (break { return true }) {
}
}
false
}

View file

@ -0,0 +1,62 @@
// compile-flags: --error-format pretty-json -Zunstable-options
// build-pass
// run-rustfix
// 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.
#![warn(unused_parens)]
#![allow(unreachable_code)]
fn main() {
let _b = false;
if (_b) {
println!("hello");
}
f();
}
fn f() -> bool {
let c = false;
if(c) {
println!("next");
}
if (c){
println!("prev");
}
while (false && true){
if (c) {
println!("norm");
}
}
while(true && false) {
for _ in (0 .. 3){
println!("e~")
}
}
for _ in (0 .. 3) {
while (true && false) {
println!("e~")
}
}
loop {
if (break { return true }) {
}
}
false
}

View file

@ -0,0 +1,666 @@
{
"message": "unnecessary parentheses around `if` condition",
"code": {
"code": "unused_parens",
"explanation": null
},
"level": "warning",
"spans": [
{
"file_name": "$DIR/unused_parens_remove_json_suggestion.rs",
"byte_start": 521,
"byte_end": 525,
"line_start": 18,
"line_end": 18,
"column_start": 8,
"column_end": 12,
"is_primary": true,
"text": [
{
"text": " if (_b) {",
"highlight_start": 8,
"highlight_end": 12
}
],
"label": null,
"suggested_replacement": null,
"suggestion_applicability": null,
"expansion": null
}
],
"children": [
{
"message": "lint level defined here",
"code": null,
"level": "note",
"spans": [
{
"file_name": "$DIR/unused_parens_remove_json_suggestion.rs",
"byte_start": 435,
"byte_end": 448,
"line_start": 11,
"line_end": 11,
"column_start": 9,
"column_end": 22,
"is_primary": true,
"text": [
{
"text": "#![warn(unused_parens)]",
"highlight_start": 9,
"highlight_end": 22
}
],
"label": null,
"suggested_replacement": null,
"suggestion_applicability": null,
"expansion": null
}
],
"children": [],
"rendered": null
},
{
"message": "remove these parentheses",
"code": null,
"level": "help",
"spans": [
{
"file_name": "$DIR/unused_parens_remove_json_suggestion.rs",
"byte_start": 521,
"byte_end": 525,
"line_start": 18,
"line_end": 18,
"column_start": 8,
"column_end": 12,
"is_primary": true,
"text": [
{
"text": " if (_b) {",
"highlight_start": 8,
"highlight_end": 12
}
],
"label": null,
"suggested_replacement": "_b",
"suggestion_applicability": "MachineApplicable",
"expansion": null
}
],
"children": [],
"rendered": null
}
],
"rendered": "warning: unnecessary parentheses around `if` condition
--> $DIR/unused_parens_remove_json_suggestion.rs:18:8
|
LL | if (_b) {
| ^^^^ help: remove these parentheses
|
note: lint level defined here
--> $DIR/unused_parens_remove_json_suggestion.rs:11:9
|
LL | #![warn(unused_parens)]
| ^^^^^^^^^^^^^
"
}
{
"message": "unnecessary parentheses around `if` condition",
"code": {
"code": "unused_parens",
"explanation": null
},
"level": "warning",
"spans": [
{
"file_name": "$DIR/unused_parens_remove_json_suggestion.rs",
"byte_start": 618,
"byte_end": 621,
"line_start": 29,
"line_end": 29,
"column_start": 7,
"column_end": 10,
"is_primary": true,
"text": [
{
"text": " if(c) {",
"highlight_start": 7,
"highlight_end": 10
}
],
"label": null,
"suggested_replacement": null,
"suggestion_applicability": null,
"expansion": null
}
],
"children": [
{
"message": "remove these parentheses",
"code": null,
"level": "help",
"spans": [
{
"file_name": "$DIR/unused_parens_remove_json_suggestion.rs",
"byte_start": 618,
"byte_end": 621,
"line_start": 29,
"line_end": 29,
"column_start": 7,
"column_end": 10,
"is_primary": true,
"text": [
{
"text": " if(c) {",
"highlight_start": 7,
"highlight_end": 10
}
],
"label": null,
"suggested_replacement": " c",
"suggestion_applicability": "MachineApplicable",
"expansion": null
}
],
"children": [],
"rendered": null
}
],
"rendered": "warning: unnecessary parentheses around `if` condition
--> $DIR/unused_parens_remove_json_suggestion.rs:29:7
|
LL | if(c) {
| ^^^ help: remove these parentheses
"
}
{
"message": "unnecessary parentheses around `if` condition",
"code": {
"code": "unused_parens",
"explanation": null
},
"level": "warning",
"spans": [
{
"file_name": "$DIR/unused_parens_remove_json_suggestion.rs",
"byte_start": 664,
"byte_end": 667,
"line_start": 33,
"line_end": 33,
"column_start": 8,
"column_end": 11,
"is_primary": true,
"text": [
{
"text": " if (c){",
"highlight_start": 8,
"highlight_end": 11
}
],
"label": null,
"suggested_replacement": null,
"suggestion_applicability": null,
"expansion": null
}
],
"children": [
{
"message": "remove these parentheses",
"code": null,
"level": "help",
"spans": [
{
"file_name": "$DIR/unused_parens_remove_json_suggestion.rs",
"byte_start": 664,
"byte_end": 667,
"line_start": 33,
"line_end": 33,
"column_start": 8,
"column_end": 11,
"is_primary": true,
"text": [
{
"text": " if (c){",
"highlight_start": 8,
"highlight_end": 11
}
],
"label": null,
"suggested_replacement": "c ",
"suggestion_applicability": "MachineApplicable",
"expansion": null
}
],
"children": [],
"rendered": null
}
],
"rendered": "warning: unnecessary parentheses around `if` condition
--> $DIR/unused_parens_remove_json_suggestion.rs:33:8
|
LL | if (c){
| ^^^ help: remove these parentheses
"
}
{
"message": "unnecessary parentheses around `while` condition",
"code": {
"code": "unused_parens",
"explanation": null
},
"level": "warning",
"spans": [
{
"file_name": "$DIR/unused_parens_remove_json_suggestion.rs",
"byte_start": 712,
"byte_end": 727,
"line_start": 37,
"line_end": 37,
"column_start": 11,
"column_end": 26,
"is_primary": true,
"text": [
{
"text": " while (false && true){",
"highlight_start": 11,
"highlight_end": 26
}
],
"label": null,
"suggested_replacement": null,
"suggestion_applicability": null,
"expansion": null
}
],
"children": [
{
"message": "remove these parentheses",
"code": null,
"level": "help",
"spans": [
{
"file_name": "$DIR/unused_parens_remove_json_suggestion.rs",
"byte_start": 712,
"byte_end": 727,
"line_start": 37,
"line_end": 37,
"column_start": 11,
"column_end": 26,
"is_primary": true,
"text": [
{
"text": " while (false && true){",
"highlight_start": 11,
"highlight_end": 26
}
],
"label": null,
"suggested_replacement": "false && true ",
"suggestion_applicability": "MachineApplicable",
"expansion": null
}
],
"children": [],
"rendered": null
}
],
"rendered": "warning: unnecessary parentheses around `while` condition
--> $DIR/unused_parens_remove_json_suggestion.rs:37:11
|
LL | while (false && true){
| ^^^^^^^^^^^^^^^ help: remove these parentheses
"
}
{
"message": "unnecessary parentheses around `if` condition",
"code": {
"code": "unused_parens",
"explanation": null
},
"level": "warning",
"spans": [
{
"file_name": "$DIR/unused_parens_remove_json_suggestion.rs",
"byte_start": 740,
"byte_end": 743,
"line_start": 38,
"line_end": 38,
"column_start": 12,
"column_end": 15,
"is_primary": true,
"text": [
{
"text": " if (c) {",
"highlight_start": 12,
"highlight_end": 15
}
],
"label": null,
"suggested_replacement": null,
"suggestion_applicability": null,
"expansion": null
}
],
"children": [
{
"message": "remove these parentheses",
"code": null,
"level": "help",
"spans": [
{
"file_name": "$DIR/unused_parens_remove_json_suggestion.rs",
"byte_start": 740,
"byte_end": 743,
"line_start": 38,
"line_end": 38,
"column_start": 12,
"column_end": 15,
"is_primary": true,
"text": [
{
"text": " if (c) {",
"highlight_start": 12,
"highlight_end": 15
}
],
"label": null,
"suggested_replacement": "c",
"suggestion_applicability": "MachineApplicable",
"expansion": null
}
],
"children": [],
"rendered": null
}
],
"rendered": "warning: unnecessary parentheses around `if` condition
--> $DIR/unused_parens_remove_json_suggestion.rs:38:12
|
LL | if (c) {
| ^^^ help: remove these parentheses
"
}
{
"message": "unnecessary parentheses around `while` condition",
"code": {
"code": "unused_parens",
"explanation": null
},
"level": "warning",
"spans": [
{
"file_name": "$DIR/unused_parens_remove_json_suggestion.rs",
"byte_start": 803,
"byte_end": 818,
"line_start": 44,
"line_end": 44,
"column_start": 10,
"column_end": 25,
"is_primary": true,
"text": [
{
"text": " while(true && false) {",
"highlight_start": 10,
"highlight_end": 25
}
],
"label": null,
"suggested_replacement": null,
"suggestion_applicability": null,
"expansion": null
}
],
"children": [
{
"message": "remove these parentheses",
"code": null,
"level": "help",
"spans": [
{
"file_name": "$DIR/unused_parens_remove_json_suggestion.rs",
"byte_start": 803,
"byte_end": 818,
"line_start": 44,
"line_end": 44,
"column_start": 10,
"column_end": 25,
"is_primary": true,
"text": [
{
"text": " while(true && false) {",
"highlight_start": 10,
"highlight_end": 25
}
],
"label": null,
"suggested_replacement": " true && false",
"suggestion_applicability": "MachineApplicable",
"expansion": null
}
],
"children": [],
"rendered": null
}
],
"rendered": "warning: unnecessary parentheses around `while` condition
--> $DIR/unused_parens_remove_json_suggestion.rs:44:10
|
LL | while(true && false) {
| ^^^^^^^^^^^^^^^ help: remove these parentheses
"
}
{
"message": "unnecessary parentheses around `for` head expression",
"code": {
"code": "unused_parens",
"explanation": null
},
"level": "warning",
"spans": [
{
"file_name": "$DIR/unused_parens_remove_json_suggestion.rs",
"byte_start": 838,
"byte_end": 846,
"line_start": 45,
"line_end": 45,
"column_start": 18,
"column_end": 26,
"is_primary": true,
"text": [
{
"text": " for _ in (0 .. 3){",
"highlight_start": 18,
"highlight_end": 26
}
],
"label": null,
"suggested_replacement": null,
"suggestion_applicability": null,
"expansion": null
}
],
"children": [
{
"message": "remove these parentheses",
"code": null,
"level": "help",
"spans": [
{
"file_name": "$DIR/unused_parens_remove_json_suggestion.rs",
"byte_start": 838,
"byte_end": 846,
"line_start": 45,
"line_end": 45,
"column_start": 18,
"column_end": 26,
"is_primary": true,
"text": [
{
"text": " for _ in (0 .. 3){",
"highlight_start": 18,
"highlight_end": 26
}
],
"label": null,
"suggested_replacement": "0 .. 3 ",
"suggestion_applicability": "MachineApplicable",
"expansion": null
}
],
"children": [],
"rendered": null
}
],
"rendered": "warning: unnecessary parentheses around `for` head expression
--> $DIR/unused_parens_remove_json_suggestion.rs:45:18
|
LL | for _ in (0 .. 3){
| ^^^^^^^^ help: remove these parentheses
"
}
{
"message": "unnecessary parentheses around `for` head expression",
"code": {
"code": "unused_parens",
"explanation": null
},
"level": "warning",
"spans": [
{
"file_name": "$DIR/unused_parens_remove_json_suggestion.rs",
"byte_start": 905,
"byte_end": 913,
"line_start": 50,
"line_end": 50,
"column_start": 14,
"column_end": 22,
"is_primary": true,
"text": [
{
"text": " for _ in (0 .. 3) {",
"highlight_start": 14,
"highlight_end": 22
}
],
"label": null,
"suggested_replacement": null,
"suggestion_applicability": null,
"expansion": null
}
],
"children": [
{
"message": "remove these parentheses",
"code": null,
"level": "help",
"spans": [
{
"file_name": "$DIR/unused_parens_remove_json_suggestion.rs",
"byte_start": 905,
"byte_end": 913,
"line_start": 50,
"line_end": 50,
"column_start": 14,
"column_end": 22,
"is_primary": true,
"text": [
{
"text": " for _ in (0 .. 3) {",
"highlight_start": 14,
"highlight_end": 22
}
],
"label": null,
"suggested_replacement": "0 .. 3",
"suggestion_applicability": "MachineApplicable",
"expansion": null
}
],
"children": [],
"rendered": null
}
],
"rendered": "warning: unnecessary parentheses around `for` head expression
--> $DIR/unused_parens_remove_json_suggestion.rs:50:14
|
LL | for _ in (0 .. 3) {
| ^^^^^^^^ help: remove these parentheses
"
}
{
"message": "unnecessary parentheses around `while` condition",
"code": {
"code": "unused_parens",
"explanation": null
},
"level": "warning",
"spans": [
{
"file_name": "$DIR/unused_parens_remove_json_suggestion.rs",
"byte_start": 930,
"byte_end": 945,
"line_start": 51,
"line_end": 51,
"column_start": 15,
"column_end": 30,
"is_primary": true,
"text": [
{
"text": " while (true && false) {",
"highlight_start": 15,
"highlight_end": 30
}
],
"label": null,
"suggested_replacement": null,
"suggestion_applicability": null,
"expansion": null
}
],
"children": [
{
"message": "remove these parentheses",
"code": null,
"level": "help",
"spans": [
{
"file_name": "$DIR/unused_parens_remove_json_suggestion.rs",
"byte_start": 930,
"byte_end": 945,
"line_start": 51,
"line_end": 51,
"column_start": 15,
"column_end": 30,
"is_primary": true,
"text": [
{
"text": " while (true && false) {",
"highlight_start": 15,
"highlight_end": 30
}
],
"label": null,
"suggested_replacement": "true && false",
"suggestion_applicability": "MachineApplicable",
"expansion": null
}
],
"children": [],
"rendered": null
}
],
"rendered": "warning: unnecessary parentheses around `while` condition
--> $DIR/unused_parens_remove_json_suggestion.rs:51:15
|
LL | while (true && false) {
| ^^^^^^^^^^^^^^^ help: remove these parentheses
"
}