Switch from using //~ERROR
annotations with --error-format
to error-pattern
Resolves Issue #118752
This commit is contained in:
parent
be69926a73
commit
af44e719fa
22 changed files with 1006 additions and 993 deletions
|
@ -11,7 +11,7 @@ use once_cell::sync::Lazy;
|
||||||
use regex::Regex;
|
use regex::Regex;
|
||||||
use tracing::*;
|
use tracing::*;
|
||||||
|
|
||||||
#[derive(Clone, Debug, PartialEq)]
|
#[derive(Copy, Clone, Debug, PartialEq)]
|
||||||
pub enum ErrorKind {
|
pub enum ErrorKind {
|
||||||
Help,
|
Help,
|
||||||
Error,
|
Error,
|
||||||
|
|
|
@ -3976,23 +3976,29 @@ impl<'test> TestCx<'test> {
|
||||||
proc_res.status,
|
proc_res.status,
|
||||||
self.props.error_patterns
|
self.props.error_patterns
|
||||||
);
|
);
|
||||||
|
|
||||||
|
let check_patterns = should_run == WillExecute::No
|
||||||
|
&& (!self.props.error_patterns.is_empty()
|
||||||
|
|| !self.props.regex_error_patterns.is_empty());
|
||||||
if !explicit && self.config.compare_mode.is_none() {
|
if !explicit && self.config.compare_mode.is_none() {
|
||||||
let check_patterns = should_run == WillExecute::No
|
|
||||||
&& (!self.props.error_patterns.is_empty()
|
|
||||||
|| !self.props.regex_error_patterns.is_empty());
|
|
||||||
|
|
||||||
let check_annotations = !check_patterns || !expected_errors.is_empty();
|
let check_annotations = !check_patterns || !expected_errors.is_empty();
|
||||||
|
|
||||||
if check_patterns {
|
|
||||||
// "// error-pattern" comments
|
|
||||||
let output_to_check = self.get_output(&proc_res);
|
|
||||||
self.check_all_error_patterns(&output_to_check, &proc_res, pm);
|
|
||||||
}
|
|
||||||
|
|
||||||
if check_annotations {
|
if check_annotations {
|
||||||
// "//~ERROR comments"
|
// "//~ERROR comments"
|
||||||
self.check_expected_errors(expected_errors, &proc_res);
|
self.check_expected_errors(expected_errors, &proc_res);
|
||||||
}
|
}
|
||||||
|
} else if explicit && !expected_errors.is_empty() {
|
||||||
|
let msg = format!(
|
||||||
|
"line {}: cannot combine `--error-format` with {} annotations; use `error-pattern` instead",
|
||||||
|
expected_errors[0].line_num,
|
||||||
|
expected_errors[0].kind.unwrap_or(ErrorKind::Error),
|
||||||
|
);
|
||||||
|
self.fatal(&msg);
|
||||||
|
}
|
||||||
|
if check_patterns {
|
||||||
|
// "// error-pattern" comments
|
||||||
|
let output_to_check = self.get_output(&proc_res);
|
||||||
|
self.check_all_error_patterns(&output_to_check, &proc_res, pm);
|
||||||
}
|
}
|
||||||
|
|
||||||
if self.props.run_rustfix && self.config.compare_mode.is_none() {
|
if self.props.run_rustfix && self.config.compare_mode.is_none() {
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
// compile-flags:--test --error-format=short
|
// compile-flags:--test --error-format=short
|
||||||
|
// check-stdout
|
||||||
|
// error-pattern:cannot find function `foo` in this scope
|
||||||
// normalize-stdout-test: "tests/rustdoc-ui/issues" -> "$$DIR"
|
// normalize-stdout-test: "tests/rustdoc-ui/issues" -> "$$DIR"
|
||||||
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
|
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
|
||||||
// failure-status: 101
|
// failure-status: 101
|
||||||
|
@ -6,7 +8,6 @@
|
||||||
/// ```rust
|
/// ```rust
|
||||||
/// foo();
|
/// foo();
|
||||||
/// ```
|
/// ```
|
||||||
//~^^ ERROR cannot find function `foo` in this scope
|
|
||||||
fn foo() {
|
fn foo() {
|
||||||
println!("Hello, world!");
|
println!("Hello, world!");
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
|
|
||||||
running 1 test
|
running 1 test
|
||||||
test $DIR/issue-81662-shortness.rs - foo (line 6) ... FAILED
|
test $DIR/issue-81662-shortness.rs - foo (line 8) ... FAILED
|
||||||
|
|
||||||
failures:
|
failures:
|
||||||
|
|
||||||
---- $DIR/issue-81662-shortness.rs - foo (line 6) stdout ----
|
---- $DIR/issue-81662-shortness.rs - foo (line 8) stdout ----
|
||||||
$DIR/issue-81662-shortness.rs:7:1: error[E0425]: cannot find function `foo` in this scope
|
$DIR/issue-81662-shortness.rs:9:1: error[E0425]: cannot find function `foo` in this scope
|
||||||
error: aborting due to 1 previous error
|
error: aborting due to 1 previous error
|
||||||
Couldn't compile the test.
|
Couldn't compile the test.
|
||||||
|
|
||||||
failures:
|
failures:
|
||||||
$DIR/issue-81662-shortness.rs - foo (line 6)
|
$DIR/issue-81662-shortness.rs - foo (line 8)
|
||||||
|
|
||||||
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in $TIME
|
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in $TIME
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
// compile-flags: --error-format human-annotate-rs -Z unstable-options
|
// compile-flags: --error-format human-annotate-rs -Z unstable-options
|
||||||
|
// error-pattern:cannot find type `Iter` in this scope
|
||||||
|
|
||||||
pub fn main() {
|
pub fn main() {
|
||||||
let x: Iter; //~ ERROR cannot find type `Iter` in this scope
|
let x: Iter;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
error[E0412]: cannot find type `Iter` in this scope
|
error[E0412]: cannot find type `Iter` in this scope
|
||||||
--> $DIR/missing-type.rs:4:12
|
--> $DIR/missing-type.rs:5:12
|
||||||
|
|
|
|
||||||
LL | let x: Iter;
|
LL | let x: Iter;
|
||||||
| ^^^^ not found in this scope
|
| ^^^^ not found in this scope
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
// aux-build:multispan.rs
|
// aux-build:multispan.rs
|
||||||
|
// error-pattern:hello to you, too!
|
||||||
// compile-flags: --error-format human-annotate-rs -Z unstable-options
|
// compile-flags: --error-format human-annotate-rs -Z unstable-options
|
||||||
|
|
||||||
#![feature(proc_macro_hygiene)]
|
#![feature(proc_macro_hygiene)]
|
||||||
|
@ -12,17 +13,17 @@ fn main() {
|
||||||
hello!();
|
hello!();
|
||||||
|
|
||||||
// Exactly one 'hi'.
|
// Exactly one 'hi'.
|
||||||
hello!(hi); //~ ERROR hello to you, too!
|
hello!(hi);
|
||||||
|
|
||||||
// Now two, back to back.
|
// Now two, back to back.
|
||||||
hello!(hi hi); //~ ERROR hello to you, too!
|
hello!(hi hi);
|
||||||
|
|
||||||
// Now three, back to back.
|
// Now three, back to back.
|
||||||
hello!(hi hi hi); //~ ERROR hello to you, too!
|
hello!(hi hi hi);
|
||||||
|
|
||||||
// Now several, with spacing.
|
// Now several, with spacing.
|
||||||
hello!(hi hey hi yo hi beep beep hi hi); //~ ERROR hello to you, too!
|
hello!(hi hey hi yo hi beep beep hi hi);
|
||||||
hello!(hi there, hi how are you? hi... hi.); //~ ERROR hello to you, too!
|
hello!(hi there, hi how are you? hi... hi.);
|
||||||
hello!(whoah. hi di hi di ho); //~ ERROR hello to you, too!
|
hello!(whoah. hi di hi di ho);
|
||||||
hello!(hi good hi and good bye); //~ ERROR hello to you, too!
|
hello!(hi good hi and good bye);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,41 +1,41 @@
|
||||||
error: hello to you, too!
|
error: hello to you, too!
|
||||||
--> $DIR/multispan.rs:15:5
|
--> $DIR/multispan.rs:16:5
|
||||||
|
|
|
|
||||||
LL | hello!(hi);
|
LL | hello!(hi);
|
||||||
| ^^^^^^^^^^
|
| ^^^^^^^^^^
|
||||||
|
|
|
|
||||||
error: hello to you, too!
|
error: hello to you, too!
|
||||||
--> $DIR/multispan.rs:18:5
|
--> $DIR/multispan.rs:19:5
|
||||||
|
|
|
|
||||||
LL | hello!(hi hi);
|
LL | hello!(hi hi);
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
|
|
||||||
error: hello to you, too!
|
error: hello to you, too!
|
||||||
--> $DIR/multispan.rs:21:5
|
--> $DIR/multispan.rs:22:5
|
||||||
|
|
|
|
||||||
LL | hello!(hi hi hi);
|
LL | hello!(hi hi hi);
|
||||||
| ^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^
|
||||||
|
|
|
|
||||||
error: hello to you, too!
|
error: hello to you, too!
|
||||||
--> $DIR/multispan.rs:24:5
|
--> $DIR/multispan.rs:25:5
|
||||||
|
|
|
|
||||||
LL | hello!(hi hey hi yo hi beep beep hi hi);
|
LL | hello!(hi hey hi yo hi beep beep hi hi);
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
|
||||||
error: hello to you, too!
|
error: hello to you, too!
|
||||||
--> $DIR/multispan.rs:25:5
|
--> $DIR/multispan.rs:26:5
|
||||||
|
|
|
|
||||||
LL | hello!(hi there, hi how are you? hi... hi.);
|
LL | hello!(hi there, hi how are you? hi... hi.);
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
|
||||||
error: hello to you, too!
|
error: hello to you, too!
|
||||||
--> $DIR/multispan.rs:26:5
|
--> $DIR/multispan.rs:27:5
|
||||||
|
|
|
|
||||||
LL | hello!(whoah. hi di hi di ho);
|
LL | hello!(whoah. hi di hi di ho);
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
|
||||||
error: hello to you, too!
|
error: hello to you, too!
|
||||||
--> $DIR/multispan.rs:27:5
|
--> $DIR/multispan.rs:28:5
|
||||||
|
|
|
|
||||||
LL | hello!(hi good hi and good bye);
|
LL | hello!(hi good hi and good bye);
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
// compile-flags: --diagnostic-width=20 --error-format=json
|
// compile-flags: --diagnostic-width=20 --error-format=json
|
||||||
|
// error-pattern:expected `()`, found integer
|
||||||
|
|
||||||
// This test checks that `-Z output-width` effects the JSON error output by restricting it to an
|
// This test checks that `-Z output-width` effects the JSON error output by restricting it to an
|
||||||
// arbitrarily low value so that the effect is visible.
|
// arbitrarily low value so that the effect is visible.
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let _: () = 42;
|
let _: () = 42;
|
||||||
//~^ ERROR arguments to this function are incorrect
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,8 +24,8 @@ This error occurs when an expression was used in a place where the compiler
|
||||||
expected an expression of a different type. It can occur in several cases, the
|
expected an expression of a different type. It can occur in several cases, the
|
||||||
most common being when calling a function and passing an argument which has a
|
most common being when calling a function and passing an argument which has a
|
||||||
different type than the matching type in the function declaration.
|
different type than the matching type in the function declaration.
|
||||||
"},"level":"error","spans":[{"file_name":"$DIR/flag-json.rs","byte_start":243,"byte_end":245,"line_start":7,"line_end":7,"column_start":17,"column_end":19,"is_primary":true,"text":[{"text":" let _: () = 42;","highlight_start":17,"highlight_end":19}],"label":"expected `()`, found integer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/flag-json.rs","byte_start":238,"byte_end":240,"line_start":7,"line_end":7,"column_start":12,"column_end":14,"is_primary":false,"text":[{"text":" let _: () = 42;","highlight_start":12,"highlight_end":14}],"label":"expected due to this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0308]: mismatched types
|
"},"level":"error","spans":[{"file_name":"$DIR/flag-json.rs","byte_start":289,"byte_end":291,"line_start":8,"line_end":8,"column_start":17,"column_end":19,"is_primary":true,"text":[{"text":" let _: () = 42;","highlight_start":17,"highlight_end":19}],"label":"expected `()`, found integer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/flag-json.rs","byte_start":284,"byte_end":286,"line_start":8,"line_end":8,"column_start":12,"column_end":14,"is_primary":false,"text":[{"text":" let _: () = 42;","highlight_start":12,"highlight_end":14}],"label":"expected due to this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0308]: mismatched types
|
||||||
--> $DIR/flag-json.rs:7:17
|
--> $DIR/flag-json.rs:8:17
|
||||||
|
|
|
|
||||||
LL | ..._: () = 42;
|
LL | ..._: () = 42;
|
||||||
| -- ^^ expected `()`, found integer
|
| -- ^^ expected `()`, found integer
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
// compile-flags: --error-format json
|
// compile-flags: --error-format json
|
||||||
|
// error-pattern:unnecessary parentheses
|
||||||
// run-rustfix
|
// run-rustfix
|
||||||
|
|
||||||
// The output for humans should just highlight the whole span without showing
|
// The output for humans should just highlight the whole span without showing
|
||||||
|
@ -13,7 +14,7 @@
|
||||||
fn main() {
|
fn main() {
|
||||||
// We want to suggest the properly-balanced expression `1 / (2 + 3)`, not
|
// We want to suggest the properly-balanced expression `1 / (2 + 3)`, not
|
||||||
// the malformed `1 / (2 + 3`
|
// the malformed `1 / (2 + 3`
|
||||||
let _a = 1 / (2 + 3); //~ERROR unnecessary parentheses
|
let _a = 1 / (2 + 3);
|
||||||
f();
|
f();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
// compile-flags: --error-format json
|
// compile-flags: --error-format json
|
||||||
|
// error-pattern:unnecessary parentheses
|
||||||
// run-rustfix
|
// run-rustfix
|
||||||
|
|
||||||
// The output for humans should just highlight the whole span without showing
|
// The output for humans should just highlight the whole span without showing
|
||||||
|
@ -13,7 +14,7 @@
|
||||||
fn main() {
|
fn main() {
|
||||||
// We want to suggest the properly-balanced expression `1 / (2 + 3)`, not
|
// We want to suggest the properly-balanced expression `1 / (2 + 3)`, not
|
||||||
// the malformed `1 / (2 + 3`
|
// the malformed `1 / (2 + 3`
|
||||||
let _a = (1 / (2 + 3)); //~ERROR unnecessary parentheses
|
let _a = (1 / (2 + 3));
|
||||||
f();
|
f();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
{"$message_type":"diagnostic","message":"unnecessary parentheses around assigned value","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_json_suggestion.rs","byte_start":577,"byte_end":578,"line_start":16,"line_end":16,"column_start":14,"column_end":15,"is_primary":true,"text":[{"text":" let _a = (1 / (2 + 3));
|
{"$message_type":"diagnostic","message":"unnecessary parentheses around assigned value","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_json_suggestion.rs","byte_start":618,"byte_end":619,"line_start":17,"line_end":17,"column_start":14,"column_end":15,"is_primary":true,"text":[{"text":" let _a = (1 / (2 + 3));","highlight_start":14,"highlight_end":15}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/unused_parens_json_suggestion.rs","byte_start":630,"byte_end":631,"line_start":17,"line_end":17,"column_start":26,"column_end":27,"is_primary":true,"text":[{"text":" let _a = (1 / (2 + 3));","highlight_start":26,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the lint level is defined here","code":null,"level":"note","spans":[{"file_name":"$DIR/unused_parens_json_suggestion.rs","byte_start":436,"byte_end":449,"line_start":11,"line_end":11,"column_start":9,"column_end":22,"is_primary":true,"text":[{"text":"#![deny(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_json_suggestion.rs","byte_start":618,"byte_end":619,"line_start":17,"line_end":17,"column_start":14,"column_end":15,"is_primary":true,"text":[{"text":" let _a = (1 / (2 + 3));","highlight_start":14,"highlight_end":15}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"$DIR/unused_parens_json_suggestion.rs","byte_start":630,"byte_end":631,"line_start":17,"line_end":17,"column_start":26,"column_end":27,"is_primary":true,"text":[{"text":" let _a = (1 / (2 + 3));","highlight_start":26,"highlight_end":27}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"error: unnecessary parentheses around assigned value
|
||||||
--> $DIR/unused_parens_json_suggestion.rs:16:14
|
--> $DIR/unused_parens_json_suggestion.rs:17:14
|
||||||
|
|
|
|
||||||
LL | let _a = (1 / (2 + 3));
|
LL | let _a = (1 / (2 + 3));
|
||||||
| ^ ^
|
| ^ ^
|
||||||
|
|
|
|
||||||
note: the lint level is defined here
|
note: the lint level is defined here
|
||||||
--> $DIR/unused_parens_json_suggestion.rs:10:9
|
--> $DIR/unused_parens_json_suggestion.rs:11:9
|
||||||
|
|
|
|
||||||
LL | #![deny(unused_parens)]
|
LL | #![deny(unused_parens)]
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
// compile-flags: --error-format json
|
// compile-flags: --error-format json
|
||||||
|
// error-pattern:unnecessary parentheses
|
||||||
// run-rustfix
|
// run-rustfix
|
||||||
|
|
||||||
// The output for humans should just highlight the whole span without showing
|
// The output for humans should just highlight the whole span without showing
|
||||||
|
@ -14,7 +15,7 @@ fn main() {
|
||||||
|
|
||||||
let _b = false;
|
let _b = false;
|
||||||
|
|
||||||
if _b { //~ ERROR unnecessary parentheses
|
if _b {
|
||||||
println!("hello");
|
println!("hello");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,29 +26,29 @@ fn main() {
|
||||||
fn f() -> bool {
|
fn f() -> bool {
|
||||||
let c = false;
|
let c = false;
|
||||||
|
|
||||||
if c { //~ ERROR unnecessary parentheses
|
if c {
|
||||||
println!("next");
|
println!("next");
|
||||||
}
|
}
|
||||||
|
|
||||||
if c { //~ ERROR unnecessary parentheses
|
if c {
|
||||||
println!("prev");
|
println!("prev");
|
||||||
}
|
}
|
||||||
|
|
||||||
while false && true {
|
while false && true {
|
||||||
if c { //~ ERROR unnecessary parentheses
|
if c {
|
||||||
println!("norm");
|
println!("norm");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
while true && false { //~ ERROR unnecessary parentheses
|
while true && false {
|
||||||
for _ in 0 .. 3 { //~ ERROR unnecessary parentheses
|
for _ in 0 .. 3 {
|
||||||
println!("e~")
|
println!("e~")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for _ in 0 .. 3 { //~ ERROR unnecessary parentheses
|
for _ in 0 .. 3 {
|
||||||
while true && false { //~ ERROR unnecessary parentheses
|
while true && false {
|
||||||
println!("e~")
|
println!("e~")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
// compile-flags: --error-format json
|
// compile-flags: --error-format json
|
||||||
|
// error-pattern:unnecessary parentheses
|
||||||
// run-rustfix
|
// run-rustfix
|
||||||
|
|
||||||
// The output for humans should just highlight the whole span without showing
|
// The output for humans should just highlight the whole span without showing
|
||||||
|
@ -14,7 +15,7 @@ fn main() {
|
||||||
|
|
||||||
let _b = false;
|
let _b = false;
|
||||||
|
|
||||||
if (_b) { //~ ERROR unnecessary parentheses
|
if (_b) {
|
||||||
println!("hello");
|
println!("hello");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,29 +26,29 @@ fn main() {
|
||||||
fn f() -> bool {
|
fn f() -> bool {
|
||||||
let c = false;
|
let c = false;
|
||||||
|
|
||||||
if(c) { //~ ERROR unnecessary parentheses
|
if(c) {
|
||||||
println!("next");
|
println!("next");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (c){ //~ ERROR unnecessary parentheses
|
if (c){
|
||||||
println!("prev");
|
println!("prev");
|
||||||
}
|
}
|
||||||
|
|
||||||
while (false && true){
|
while (false && true){
|
||||||
if (c) { //~ ERROR unnecessary parentheses
|
if (c) {
|
||||||
println!("norm");
|
println!("norm");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
while(true && false) { //~ ERROR unnecessary parentheses
|
while(true && false) {
|
||||||
for _ in (0 .. 3){ //~ ERROR unnecessary parentheses
|
for _ in (0 .. 3){
|
||||||
println!("e~")
|
println!("e~")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for _ in (0 .. 3) { //~ ERROR unnecessary parentheses
|
for _ in (0 .. 3) {
|
||||||
while (true && false) { //~ ERROR unnecessary parentheses
|
while (true && false) {
|
||||||
println!("e~")
|
println!("e~")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
{"$message_type":"diagnostic","message":"unnecessary parentheses around `if` condition","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":481,"byte_end":482,"line_start":17,"line_end":17,"column_start":8,"column_end":9,"is_primary":true,"text":[{"text":" if (_b) {
|
{"$message_type":"diagnostic","message":"unnecessary parentheses around `if` condition","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":522,"byte_end":523,"line_start":18,"line_end":18,"column_start":8,"column_end":9,"is_primary":true,"text":[{"text":" if (_b) {","highlight_start":8,"highlight_end":9}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":525,"byte_end":526,"line_start":18,"line_end":18,"column_start":11,"column_end":12,"is_primary":true,"text":[{"text":" if (_b) {","highlight_start":11,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the lint level is defined here","code":null,"level":"note","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":436,"byte_end":449,"line_start":11,"line_end":11,"column_start":9,"column_end":22,"is_primary":true,"text":[{"text":"#![deny(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":522,"byte_end":523,"line_start":18,"line_end":18,"column_start":8,"column_end":9,"is_primary":true,"text":[{"text":" if (_b) {","highlight_start":8,"highlight_end":9}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":525,"byte_end":526,"line_start":18,"line_end":18,"column_start":11,"column_end":12,"is_primary":true,"text":[{"text":" if (_b) {","highlight_start":11,"highlight_end":12}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"error: unnecessary parentheses around `if` condition
|
||||||
--> $DIR/unused_parens_remove_json_suggestion.rs:17:8
|
--> $DIR/unused_parens_remove_json_suggestion.rs:18:8
|
||||||
|
|
|
|
||||||
LL | if (_b) {
|
LL | if (_b) {
|
||||||
| ^ ^
|
| ^ ^
|
||||||
|
|
|
|
||||||
note: the lint level is defined here
|
note: the lint level is defined here
|
||||||
--> $DIR/unused_parens_remove_json_suggestion.rs:10:9
|
--> $DIR/unused_parens_remove_json_suggestion.rs:11:9
|
||||||
|
|
|
|
||||||
LL | #![deny(unused_parens)]
|
LL | #![deny(unused_parens)]
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
@ -16,8 +16,8 @@ LL + if _b {
|
||||||
|
|
|
|
||||||
|
|
||||||
"}
|
"}
|
||||||
{"$message_type":"diagnostic","message":"unnecessary parentheses around `if` condition","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":612,"byte_end":613,"line_start":28,"line_end":28,"column_start":7,"column_end":8,"is_primary":true,"text":[{"text":" if(c) {
|
{"$message_type":"diagnostic","message":"unnecessary parentheses around `if` condition","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":619,"byte_end":620,"line_start":29,"line_end":29,"column_start":7,"column_end":8,"is_primary":true,"text":[{"text":" if(c) {","highlight_start":7,"highlight_end":8}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":621,"byte_end":622,"line_start":29,"line_end":29,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":" if(c) {","highlight_start":9,"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":619,"byte_end":620,"line_start":29,"line_end":29,"column_start":7,"column_end":8,"is_primary":true,"text":[{"text":" if(c) {","highlight_start":7,"highlight_end":8}],"label":null,"suggested_replacement":" ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":621,"byte_end":622,"line_start":29,"line_end":29,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":" if(c) {","highlight_start":9,"highlight_end":10}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"error: unnecessary parentheses around `if` condition
|
||||||
--> $DIR/unused_parens_remove_json_suggestion.rs:28:7
|
--> $DIR/unused_parens_remove_json_suggestion.rs:29:7
|
||||||
|
|
|
|
||||||
LL | if(c) {
|
LL | if(c) {
|
||||||
| ^ ^
|
| ^ ^
|
||||||
|
@ -29,8 +29,8 @@ LL + if c {
|
||||||
|
|
|
|
||||||
|
|
||||||
"}
|
"}
|
||||||
{"$message_type":"diagnostic","message":"unnecessary parentheses around `if` condition","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":692,"byte_end":693,"line_start":32,"line_end":32,"column_start":8,"column_end":9,"is_primary":true,"text":[{"text":" if (c){
|
{"$message_type":"diagnostic","message":"unnecessary parentheses around `if` condition","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":665,"byte_end":666,"line_start":33,"line_end":33,"column_start":8,"column_end":9,"is_primary":true,"text":[{"text":" if (c){","highlight_start":8,"highlight_end":9}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":667,"byte_end":668,"line_start":33,"line_end":33,"column_start":10,"column_end":11,"is_primary":true,"text":[{"text":" if (c){","highlight_start":10,"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":665,"byte_end":666,"line_start":33,"line_end":33,"column_start":8,"column_end":9,"is_primary":true,"text":[{"text":" if (c){","highlight_start":8,"highlight_end":9}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":667,"byte_end":668,"line_start":33,"line_end":33,"column_start":10,"column_end":11,"is_primary":true,"text":[{"text":" if (c){","highlight_start":10,"highlight_end":11}],"label":null,"suggested_replacement":" ","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"error: unnecessary parentheses around `if` condition
|
||||||
--> $DIR/unused_parens_remove_json_suggestion.rs:32:8
|
--> $DIR/unused_parens_remove_json_suggestion.rs:33:8
|
||||||
|
|
|
|
||||||
LL | if (c){
|
LL | if (c){
|
||||||
| ^ ^
|
| ^ ^
|
||||||
|
@ -42,8 +42,8 @@ LL + if c {
|
||||||
|
|
|
|
||||||
|
|
||||||
"}
|
"}
|
||||||
{"$message_type":"diagnostic","message":"unnecessary parentheses around `while` condition","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":774,"byte_end":775,"line_start":36,"line_end":36,"column_start":11,"column_end":12,"is_primary":true,"text":[{"text":" while (false && true){","highlight_start":11,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":788,"byte_end":789,"line_start":36,"line_end":36,"column_start":25,"column_end":26,"is_primary":true,"text":[{"text":" while (false && true){","highlight_start":25,"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":774,"byte_end":775,"line_start":36,"line_end":36,"column_start":11,"column_end":12,"is_primary":true,"text":[{"text":" while (false && true){","highlight_start":11,"highlight_end":12}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":788,"byte_end":789,"line_start":36,"line_end":36,"column_start":25,"column_end":26,"is_primary":true,"text":[{"text":" while (false && true){","highlight_start":25,"highlight_end":26}],"label":null,"suggested_replacement":" ","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"error: unnecessary parentheses around `while` condition
|
{"$message_type":"diagnostic","message":"unnecessary parentheses around `while` condition","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":713,"byte_end":714,"line_start":37,"line_end":37,"column_start":11,"column_end":12,"is_primary":true,"text":[{"text":" while (false && true){","highlight_start":11,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":727,"byte_end":728,"line_start":37,"line_end":37,"column_start":25,"column_end":26,"is_primary":true,"text":[{"text":" while (false && true){","highlight_start":25,"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":713,"byte_end":714,"line_start":37,"line_end":37,"column_start":11,"column_end":12,"is_primary":true,"text":[{"text":" while (false && true){","highlight_start":11,"highlight_end":12}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":727,"byte_end":728,"line_start":37,"line_end":37,"column_start":25,"column_end":26,"is_primary":true,"text":[{"text":" while (false && true){","highlight_start":25,"highlight_end":26}],"label":null,"suggested_replacement":" ","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"error: unnecessary parentheses around `while` condition
|
||||||
--> $DIR/unused_parens_remove_json_suggestion.rs:36:11
|
--> $DIR/unused_parens_remove_json_suggestion.rs:37:11
|
||||||
|
|
|
|
||||||
LL | while (false && true){
|
LL | while (false && true){
|
||||||
| ^ ^
|
| ^ ^
|
||||||
|
@ -55,8 +55,8 @@ LL + while false && true {
|
||||||
|
|
|
|
||||||
|
|
||||||
"}
|
"}
|
||||||
{"$message_type":"diagnostic","message":"unnecessary parentheses around `if` condition","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":802,"byte_end":803,"line_start":37,"line_end":37,"column_start":12,"column_end":13,"is_primary":true,"text":[{"text":" if (c) {
|
{"$message_type":"diagnostic","message":"unnecessary parentheses around `if` condition","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":741,"byte_end":742,"line_start":38,"line_end":38,"column_start":12,"column_end":13,"is_primary":true,"text":[{"text":" if (c) {","highlight_start":12,"highlight_end":13}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":743,"byte_end":744,"line_start":38,"line_end":38,"column_start":14,"column_end":15,"is_primary":true,"text":[{"text":" if (c) {","highlight_start":14,"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":741,"byte_end":742,"line_start":38,"line_end":38,"column_start":12,"column_end":13,"is_primary":true,"text":[{"text":" if (c) {","highlight_start":12,"highlight_end":13}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":743,"byte_end":744,"line_start":38,"line_end":38,"column_start":14,"column_end":15,"is_primary":true,"text":[{"text":" if (c) {","highlight_start":14,"highlight_end":15}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"error: unnecessary parentheses around `if` condition
|
||||||
--> $DIR/unused_parens_remove_json_suggestion.rs:37:12
|
--> $DIR/unused_parens_remove_json_suggestion.rs:38:12
|
||||||
|
|
|
|
||||||
LL | if (c) {
|
LL | if (c) {
|
||||||
| ^ ^
|
| ^ ^
|
||||||
|
@ -68,8 +68,8 @@ LL + if c {
|
||||||
|
|
|
|
||||||
|
|
||||||
"}
|
"}
|
||||||
{"$message_type":"diagnostic","message":"unnecessary parentheses around `while` condition","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":899,"byte_end":900,"line_start":43,"line_end":43,"column_start":10,"column_end":11,"is_primary":true,"text":[{"text":" while(true && false) {
|
{"$message_type":"diagnostic","message":"unnecessary parentheses around `while` condition","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":804,"byte_end":805,"line_start":44,"line_end":44,"column_start":10,"column_end":11,"is_primary":true,"text":[{"text":" while(true && false) {","highlight_start":10,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":818,"byte_end":819,"line_start":44,"line_end":44,"column_start":24,"column_end":25,"is_primary":true,"text":[{"text":" while(true && false) {","highlight_start":24,"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":804,"byte_end":805,"line_start":44,"line_end":44,"column_start":10,"column_end":11,"is_primary":true,"text":[{"text":" while(true && false) {","highlight_start":10,"highlight_end":11}],"label":null,"suggested_replacement":" ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":818,"byte_end":819,"line_start":44,"line_end":44,"column_start":24,"column_end":25,"is_primary":true,"text":[{"text":" while(true && false) {","highlight_start":24,"highlight_end":25}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"error: unnecessary parentheses around `while` condition
|
||||||
--> $DIR/unused_parens_remove_json_suggestion.rs:43:10
|
--> $DIR/unused_parens_remove_json_suggestion.rs:44:10
|
||||||
|
|
|
|
||||||
LL | while(true && false) {
|
LL | while(true && false) {
|
||||||
| ^ ^
|
| ^ ^
|
||||||
|
@ -81,8 +81,8 @@ LL + while true && false {
|
||||||
|
|
|
|
||||||
|
|
||||||
"}
|
"}
|
||||||
{"$message_type":"diagnostic","message":"unnecessary parentheses around `for` iterator expression","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":968,"byte_end":969,"line_start":44,"line_end":44,"column_start":18,"column_end":19,"is_primary":true,"text":[{"text":" for _ in (0 .. 3){
|
{"$message_type":"diagnostic","message":"unnecessary parentheses around `for` iterator expression","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":839,"byte_end":840,"line_start":45,"line_end":45,"column_start":18,"column_end":19,"is_primary":true,"text":[{"text":" for _ in (0 .. 3){","highlight_start":18,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":846,"byte_end":847,"line_start":45,"line_end":45,"column_start":25,"column_end":26,"is_primary":true,"text":[{"text":" for _ in (0 .. 3){","highlight_start":25,"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":839,"byte_end":840,"line_start":45,"line_end":45,"column_start":18,"column_end":19,"is_primary":true,"text":[{"text":" for _ in (0 .. 3){","highlight_start":18,"highlight_end":19}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":846,"byte_end":847,"line_start":45,"line_end":45,"column_start":25,"column_end":26,"is_primary":true,"text":[{"text":" for _ in (0 .. 3){","highlight_start":25,"highlight_end":26}],"label":null,"suggested_replacement":" ","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"error: unnecessary parentheses around `for` iterator expression
|
||||||
--> $DIR/unused_parens_remove_json_suggestion.rs:44:18
|
--> $DIR/unused_parens_remove_json_suggestion.rs:45:18
|
||||||
|
|
|
|
||||||
LL | for _ in (0 .. 3){
|
LL | for _ in (0 .. 3){
|
||||||
| ^ ^
|
| ^ ^
|
||||||
|
@ -94,8 +94,8 @@ LL + for _ in 0 .. 3 {
|
||||||
|
|
|
|
||||||
|
|
||||||
"}
|
"}
|
||||||
{"$message_type":"diagnostic","message":"unnecessary parentheses around `for` iterator expression","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":1069,"byte_end":1070,"line_start":49,"line_end":49,"column_start":14,"column_end":15,"is_primary":true,"text":[{"text":" for _ in (0 .. 3) {
|
{"$message_type":"diagnostic","message":"unnecessary parentheses around `for` iterator expression","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":906,"byte_end":907,"line_start":50,"line_end":50,"column_start":14,"column_end":15,"is_primary":true,"text":[{"text":" for _ in (0 .. 3) {","highlight_start":14,"highlight_end":15}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":913,"byte_end":914,"line_start":50,"line_end":50,"column_start":21,"column_end":22,"is_primary":true,"text":[{"text":" for _ in (0 .. 3) {","highlight_start":21,"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":906,"byte_end":907,"line_start":50,"line_end":50,"column_start":14,"column_end":15,"is_primary":true,"text":[{"text":" for _ in (0 .. 3) {","highlight_start":14,"highlight_end":15}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":913,"byte_end":914,"line_start":50,"line_end":50,"column_start":21,"column_end":22,"is_primary":true,"text":[{"text":" for _ in (0 .. 3) {","highlight_start":21,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"error: unnecessary parentheses around `for` iterator expression
|
||||||
--> $DIR/unused_parens_remove_json_suggestion.rs:49:14
|
--> $DIR/unused_parens_remove_json_suggestion.rs:50:14
|
||||||
|
|
|
|
||||||
LL | for _ in (0 .. 3) {
|
LL | for _ in (0 .. 3) {
|
||||||
| ^ ^
|
| ^ ^
|
||||||
|
@ -107,8 +107,8 @@ LL + for _ in 0 .. 3 {
|
||||||
|
|
|
|
||||||
|
|
||||||
"}
|
"}
|
||||||
{"$message_type":"diagnostic","message":"unnecessary parentheses around `while` condition","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":1128,"byte_end":1129,"line_start":50,"line_end":50,"column_start":15,"column_end":16,"is_primary":true,"text":[{"text":" while (true && false) {
|
{"$message_type":"diagnostic","message":"unnecessary parentheses around `while` condition","code":{"code":"unused_parens","explanation":null},"level":"error","spans":[{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":931,"byte_end":932,"line_start":51,"line_end":51,"column_start":15,"column_end":16,"is_primary":true,"text":[{"text":" while (true && false) {","highlight_start":15,"highlight_end":16}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":945,"byte_end":946,"line_start":51,"line_end":51,"column_start":29,"column_end":30,"is_primary":true,"text":[{"text":" while (true && false) {","highlight_start":29,"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":931,"byte_end":932,"line_start":51,"line_end":51,"column_start":15,"column_end":16,"is_primary":true,"text":[{"text":" while (true && false) {","highlight_start":15,"highlight_end":16}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"$DIR/unused_parens_remove_json_suggestion.rs","byte_start":945,"byte_end":946,"line_start":51,"line_end":51,"column_start":29,"column_end":30,"is_primary":true,"text":[{"text":" while (true && false) {","highlight_start":29,"highlight_end":30}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"error: unnecessary parentheses around `while` condition
|
||||||
--> $DIR/unused_parens_remove_json_suggestion.rs:50:15
|
--> $DIR/unused_parens_remove_json_suggestion.rs:51:15
|
||||||
|
|
|
|
||||||
LL | while (true && false) {
|
LL | while (true && false) {
|
||||||
| ^ ^
|
| ^ ^
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
// gate-test-custom_inner_attributes
|
// gate-test-custom_inner_attributes
|
||||||
// compile-flags: -Z span-debug --error-format human
|
// compile-flags: -Z span-debug --error-format human
|
||||||
|
// error-pattern:expected non-macro inner attribute
|
||||||
// aux-build:test-macros.rs
|
// aux-build:test-macros.rs
|
||||||
// edition:2018
|
// edition:2018
|
||||||
|
|
||||||
|
@ -61,19 +62,19 @@ fn bar() {
|
||||||
);
|
);
|
||||||
|
|
||||||
for _ in &[true] {
|
for _ in &[true] {
|
||||||
#![print_attr] //~ ERROR expected non-macro inner attribute
|
#![print_attr]
|
||||||
}
|
}
|
||||||
|
|
||||||
let _ = {
|
let _ = {
|
||||||
#![print_attr] //~ ERROR expected non-macro inner attribute
|
#![print_attr]
|
||||||
};
|
};
|
||||||
|
|
||||||
let _ = async {
|
let _ = async {
|
||||||
#![print_attr] //~ ERROR expected non-macro inner attribute
|
#![print_attr]
|
||||||
};
|
};
|
||||||
|
|
||||||
{
|
{
|
||||||
#![print_attr] //~ ERROR expected non-macro inner attribute
|
#![print_attr]
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,23 +1,23 @@
|
||||||
error: expected non-macro inner attribute, found attribute macro `print_attr`
|
error: expected non-macro inner attribute, found attribute macro `print_attr`
|
||||||
--> $DIR/inner-attrs.rs:64:12
|
--> $DIR/inner-attrs.rs:65:12
|
||||||
|
|
|
|
||||||
LL | #![print_attr]
|
LL | #![print_attr]
|
||||||
| ^^^^^^^^^^ not a non-macro inner attribute
|
| ^^^^^^^^^^ not a non-macro inner attribute
|
||||||
|
|
||||||
error: expected non-macro inner attribute, found attribute macro `print_attr`
|
error: expected non-macro inner attribute, found attribute macro `print_attr`
|
||||||
--> $DIR/inner-attrs.rs:68:12
|
--> $DIR/inner-attrs.rs:69:12
|
||||||
|
|
|
|
||||||
LL | #![print_attr]
|
LL | #![print_attr]
|
||||||
| ^^^^^^^^^^ not a non-macro inner attribute
|
| ^^^^^^^^^^ not a non-macro inner attribute
|
||||||
|
|
||||||
error: expected non-macro inner attribute, found attribute macro `print_attr`
|
error: expected non-macro inner attribute, found attribute macro `print_attr`
|
||||||
--> $DIR/inner-attrs.rs:72:12
|
--> $DIR/inner-attrs.rs:73:12
|
||||||
|
|
|
|
||||||
LL | #![print_attr]
|
LL | #![print_attr]
|
||||||
| ^^^^^^^^^^ not a non-macro inner attribute
|
| ^^^^^^^^^^ not a non-macro inner attribute
|
||||||
|
|
||||||
error: expected non-macro inner attribute, found attribute macro `print_attr`
|
error: expected non-macro inner attribute, found attribute macro `print_attr`
|
||||||
--> $DIR/inner-attrs.rs:76:12
|
--> $DIR/inner-attrs.rs:77:12
|
||||||
|
|
|
|
||||||
LL | #![print_attr]
|
LL | #![print_attr]
|
||||||
| ^^^^^^^^^^ not a non-macro inner attribute
|
| ^^^^^^^^^^ not a non-macro inner attribute
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,13 +1,10 @@
|
||||||
// check-pass
|
// check-pass
|
||||||
// compile-flags: -Z span-debug --error-format human
|
// compile-flags: -Z span-debug
|
||||||
// aux-build:test-macros.rs
|
// aux-build:test-macros.rs
|
||||||
|
|
||||||
// Regression test for issue #75930
|
// Regression test for issue #75930
|
||||||
// Tests that we cfg-strip all targets before invoking
|
// Tests that we cfg-strip all targets before invoking
|
||||||
// a derive macro
|
// a derive macro
|
||||||
// We need '--error-format human' to stop compiletest from
|
|
||||||
// trying to interpret proc-macro output as JSON messages
|
|
||||||
// (a pretty-printed struct may cause a line to start with '{' )
|
|
||||||
// FIXME: We currently lose spans here (see issue #43081)
|
// FIXME: We currently lose spans here (see issue #43081)
|
||||||
|
|
||||||
#![no_std] // Don't load unnecessary hygiene information from std
|
#![no_std] // Don't load unnecessary hygiene information from std
|
||||||
|
@ -47,6 +44,8 @@ extern crate test_macros;
|
||||||
// that kind of correction caused the problem seen in #76399, so maybe not.
|
// that kind of correction caused the problem seen in #76399, so maybe not.
|
||||||
|
|
||||||
#[print_helper(a)] //~ WARN derive helper attribute is used before it is introduced
|
#[print_helper(a)] //~ WARN derive helper attribute is used before it is introduced
|
||||||
|
//~| WARN derive helper attribute is used before it is introduced
|
||||||
|
//~| WARN this was previously accepted
|
||||||
//~| WARN this was previously accepted
|
//~| WARN this was previously accepted
|
||||||
#[cfg_attr(not(FALSE), allow(dead_code))]
|
#[cfg_attr(not(FALSE), allow(dead_code))]
|
||||||
#[print_attr]
|
#[print_attr]
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
warning: derive helper attribute is used before it is introduced
|
warning: derive helper attribute is used before it is introduced
|
||||||
--> $DIR/issue-75930-derive-cfg.rs:49:3
|
--> $DIR/issue-75930-derive-cfg.rs:46:3
|
||||||
|
|
|
|
||||||
LL | #[print_helper(a)]
|
LL | #[print_helper(a)]
|
||||||
| ^^^^^^^^^^^^
|
| ^^^^^^^^^^^^
|
||||||
|
@ -12,7 +12,7 @@ LL | #[derive(Print)]
|
||||||
= note: `#[warn(legacy_derive_helpers)]` on by default
|
= note: `#[warn(legacy_derive_helpers)]` on by default
|
||||||
|
|
||||||
warning: derive helper attribute is used before it is introduced
|
warning: derive helper attribute is used before it is introduced
|
||||||
--> $DIR/issue-75930-derive-cfg.rs:49:3
|
--> $DIR/issue-75930-derive-cfg.rs:46:3
|
||||||
|
|
|
|
||||||
LL | #[print_helper(a)]
|
LL | #[print_helper(a)]
|
||||||
| ^^^^^^^^^^^^
|
| ^^^^^^^^^^^^
|
||||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue