Skip to content

Reduce span highlighted code in unused_variables lint #50675

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
May 14, 2018

Conversation

csmoe
Copy link
Member

@csmoe csmoe commented May 12, 2018

Fixes #50472

  • reduce var span
  • mark applicable

Before:

mut unused_mut_var
^^^^^^^^^^^^^^^^^^

After:

mut unused_mut_var
    ^^^^^^^^^^^^^^

@rust-highfive
Copy link
Contributor

r? @cramertj

(rust_highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label May 12, 2018
@csmoe
Copy link
Member Author

csmoe commented May 12, 2018

r? @estebank

@rust-highfive rust-highfive assigned estebank and unassigned cramertj May 12, 2018
@rust-highfive
Copy link
Contributor

The job x86_64-gnu-llvm-3.9 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
[00:48:23] ....................................................................................................
[00:48:27] ....................................................................................................
[00:48:32] ....................................................................................................
[00:48:38] ....................................................................................................
[00:48:44] .................................................................F..................................
[00:48:56] .............i......................................................................................
[00:49:01] ................................ii..................................................................
[00:49:01] ................................ii..................................................................
[00:49:08] ................F...................................................................................
[00:49:15] 
[00:49:15] failures:
[00:49:15] thread 'main' panicked at 'Some tests failed', tools/compiletest/src/main.rs:492:22
[00:49:15] 
[00:49:15] 
[00:49:15] ---- [ui] ui/lint/issue-47390-unused-variable-in-struct-pattern.rs stdout ----
[00:49:15]  diff of stderr:
[00:49:15] 
[00:49:15] 2   --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:31:9
[00:49:15] 3    |
[00:49:15] 4 LL |     let i_think_continually = 2;
[00:49:15] - R/issue-47390-unused-variable-in-struct-pattern.rs:42:26
[00:49:15] 
[00:49:15] The actual stderr differed from the expected stderr.
[00:49:15] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.stderr
[00:49:15] To update references, run this command from build directory:
[00:49:15] To update references, run this command from build directory:
[00:49:15] /checkout/src/test/ui/update-references.sh '/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui' 'lint/issue-47390-unused-variable-in-struct-pattern.rs'
[00:49:15] error: 1 errors occurred comparing output.
[00:49:15] status: exit code: 0
[00:49:15] status: exit code: 0
[00:49:15] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
[00:49:15] ------------------------------------------
[00:49:15] 
[00:49:15] ------------------------------------------
[00:49:15] stderr:
[00:49:15] stderr:
[00:49:15] ------------------------------------------
[00:49:15] {"message":"unused variable: `i_think_continuallc/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs:31:9\n   |\nLL |     let i_think_continually = 2;\n   |         ^^^^^^^^^^^^^^^^^^^ help: consider using `_i_think_continually` instead: `_i_think_continually`\n   |\nnote: lint level defined here\n  --> /checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs:15:9\n   |\nLL | #![warn(unused)] // UI tests pass `-A unused` (#43896)\n   |         ^^^^^^\n   = note: #[warn(unused_variables)] implied by #[warn(unused)]\n\n"}
[00:49:15] {"message":"unused variable: `mut_unused_var`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1001,"byte_end":1015,"line_start":38,"line_end":38,"column_start":13,"column_end":27,"is_primary":true,"text":[{"text":"    let mut mut_unused_var = 1;","highlight_start":13,"highlight_end":27}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"consider using `_mut_unused_var` instead","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1001,"byte_end":1015,"line_start":38,"line_end":38,"column_start":13,"column_end":27,"is_primary":true,"text":[{"text":"    let mut mut_unused_var = 1;","highlight_start":13,"highlight_end":27}],"label":null,"suggested_replacement":"_mut_unused_var","expansion":null}],"children":[],"rendered":null}],"rendered":"warning: unused variable: `mut_unused_var`\n  --> /checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs:_end":1050,"line_start":40,"line_end":40,"column_start":19,"column_end":29,"is_primary":true,"text":[{"text":"    let (mut var, unused_var) = (1, 2);","highlight_start":19,"highlight_end":29}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"consider using `_unused_var` instead","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1040,"byte_end":1050,"line_start":40,"line_end":40,"column_start":19,"column_end":29,"is_primary":true,"text":[{"text":"    let (mut var, unused_var) = (1, 2);","highlight_start":19,"highlight_end":29}],"label":null,"suggested_replacement":"_unused_var","expansion":null}],"children":[],"rendered":null}],"rendered":"warning: unused variable: `unused_var`\n  --> /checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs:40:19\n   |\nLL |     let (mut var, unused_var) = (1, 2);\n   |                   ^^^^^^^^^^ help: consider using `_unused_var` instead: `_unused_var`\n\n"}
[00:49:15] {"message":"unused variable: `corridors_of_light`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1088,"byte_end":1106,"line_start":42,"line_end":42,"column_start":26,"column_end":44,"is_primary":true,"text":[{"text":"    if let SoulHistory { corridors_of_light,","highlight_start":26,"highlight_end":44}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"try ignoring the field","code":null,"level":"help","spans":[                 ^^^^^^^^^^^^^^\n   |\n   = note: consider using `_hours_are_suns` instead\n\n"}
[00:49:15] {"message":"value assigned to `hours_are_suns` is never read","code":{"code":"unused_assignments","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1247,"byte_end":1261,"line_start":45,"line_end":45,"column_start":9,"column_end":23,"is_primary":true,"text":[{"text":"        hours_are_suns = false;","highlight_start":9,"highlight_end":23}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"lint level defined here","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":542,"byte_end":548,"line_start":15,"line_end":15,"column_start":9,"column_end":15,"is_primary":true,"text":[{"text":"#![warn(unused)] // UI tests pass `-A unused` (#43896)","highlight_start":9,"highlight_end":15}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[],"rendered":null},{"message":"#[warn(unused_assignments)] implied by #[warn(unused)]","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"warning: value assigned to `hours_are_suns` is never read\n  --> /checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs:45:9\n   |\nLL |         hours_are_suns = false;\n   |         ^^^^^^^^^^^^^^\n   |\nnote: lint level defined here\n  --> /checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs:15:9\n   |\nLL | #![warn(unused)] // UI tests pass `-A un  |\nLL |         (Large::Suit { case },) => {}\n   |                        ^^^^ help: try ignoring the field: `case: _`\n\n"}
[00:49:15] {"message":"unused variable: `case`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1739,"byte_end":1743,"line_start":74,"line_end":74,"column_start":24,"column_end":28,"is_primary":true,"text":[{"text":"        [Large::Suit { case }] => {}","highlight_start":24,"highlight_end":28}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"try ignoring the field","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1739,"byte_end":1743,"line_start":74,"line_end":74,"column_start":24,"column_end":28,"is_primary":true,"text":[{"text":"        [Large::Suit { case }] => {}","highlight_start":24,"highlight_end":28}],"label":null,"suggested_replacement":"case: _","expansion":null}],"children":[],"rendered":null}],"rendered":"warning: unused variable: `case`\n  --> /checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs:74:24\n   |\nLL |         [Large::Suit { case }] => {}\n   |                        ^^^^ help: try ignoring the field: `case: _`\n\n"}
[00:49:15] {"message":"unused variable: `case`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1848,"byte_end":1852,"line_start":79,"line_end"  |         ^^^^^^^^^^^ help: consider using `_theOtherTwo` instead
[00:49:15] +    |         ^^^^^^^^^^^ help: consider using `_theOtherTwo` instead: `_theOtherTwo`
[00:49:15] 7 note: lint level defined here
[00:49:15] 8   --> $DIR/issue-24690.rs:18:9
[00:49:15] 
[00:49:15] 
[00:49:15] 
[00:49:15] The actual stderr differed from the expected stderr.
[00:49:15] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/span/issue-24690.stderr
[00:49:15] To update references, run this command from build directory:
[00:49:15] /checkout/src/test/ui/update-references.sh '/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui' 'span/issue-24690.rs'
[00:49:15] error: 1 errors occurred comparing output.
[00:49:15] status: exit code: 101
[00:49:15] status: exit code: 101
[00:49:15] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/span/issue-24690.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/span/issue-24690.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/span/issue-24690.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
[00:49:15] ------------------------------------------
[00:49:15] 
[00:49:15] ------------------------------------------
[00:49:15] stderr:
[00:49:15] stderr:
[00:49:15] ------------------------------------------
[00:49:15] {"message":"unused variable: `theOtherTwo`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/span/issue-24690.rs","byte_start":889,"byte_end":900,"line_start":23,"line_end":23,"column_start":9,"column_end":20,"is_primary":true,"text":[{"text":"    let theOtherTwo = 2; //~ WARN should have a snake case name","highlight_start":9,"highlight_end":20}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"lint level defined here","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/span/issue-24690.rs","byte_start":752,"byte_end":758,"line_start":18,"line_end":18,"column_start":9,"column_end":15,"is_primary":true,"text":[{"text":"#![warn(unused)]","highlight_start":9,"highlight_end":15}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[],"rendered":null},{"message":"#[warn(unused_variables)] implied by #[warn(unused)]","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consider using `_theOtherTwo` instead","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/span/issue-24690.rs","byte_start":889,"byte_end":900,"line_start":23,"line_end":23,"column_start":9,"column_end":20,"is_primary":true,"text":[{"text":"    let theOtherTwo = 2; //~ WARN should have a snake case name","highlight_start":9,"highlight_end":20}],"label":null,"suggested_replacement":"_theOtherTwo","expansion":null}],"children":[],"rendered":null}],"rendered":"warning: unused variable: `theOtherTwo`\n  --> /checkout/src/test/ui/span/issue-24690.rs:23:9\n   |\nLL |     let theOt4018180 .
2744088 ./obj/build
1969036 ./obj/build/x86_64-unknown-linux-gnu
725904 ./src
584836 ./obj/build/bootstrap
---
149784 ./.git/modules
149780 ./.git/modules/src
149116 ./src/llvm-emscripten/test
124332 ./obj/build/bootstrap/debug/incremental/bootstrap-182x3aewwy26b
124328 ./obj/build/bootstrap/debug/incremental/bootstrap-182x3aewwy26b/s-f0ycmz0zyv-1ha8v8l-15rj8twogke02

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

Copy link
Contributor

@oli-obk oli-obk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just some nits

@@ -1539,8 +1545,11 @@ impl<'a, 'tcx> Liveness<'a, 'tcx> {
self.assigned_on_exit(ln, var).is_some()
};

let suggest_underscore_msg = format!("consider using `_{}` instead",
name);
let (suggest_underscore_msg, app) = (
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please change this to two separate let bindings

@@ -35,6 +35,10 @@ fn main() {
endless_and_singing: true
};

let mut mut_unused_var = 1;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if that works, but you can try adding a // run-rustfix comment to the top of the file. That'll show us the file after applying the suggestions

@@ -1398,7 +1399,11 @@ fn check_local<'a, 'tcx>(this: &mut Liveness<'a, 'tcx>, local: &'tcx hir::Local)
},
None => {
this.pat_bindings(&local.pat, |this, ln, var, sp, id| {
this.warn_about_unused(sp, id, ln, var);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of the if let you could prepend this line with let sp = local.pat.simple_span.unwrap_or(sp);

@rust-highfive
Copy link
Contributor

The job x86_64-gnu-llvm-3.9 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
[00:46:56] ....................................................................................................
[00:47:00] ....................................................................................................
[00:47:06] ....................................................................................................
[00:47:12] ....................................................................................................
[00:47:18] .................................................................F..................................
[00:47:30] .............i......................................................................................
[00:47:35] ................................ii..................................................................
[00:47:35] ................................ii..................................................................
[00:47:42] ................F...................................................................................
  let i_think_continually = 2;
[00:47:50] -    |         ^^^^^^^^^^^^^^^^^^^ help: consider using `_i_think_continually` instead
[00:47:50] +    |         ^^^^^^^^^^^^^^^^^^^ help: consider using `_i_think_continually` instead: `_i_think_continually`
[00:47:50] 7 note: lint level defined here
[00:47:50] -   --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:15:9
[00:47:50] +   --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:16:9
[00:47:50] 9    |
[00:47:50] 9    |
[00:47:50] 10 LL | #![warn(unused)] // UI tests pass `-A unused` (#43896)
[00:47:50] 
[00:47:50] 12    = note: #[warn(unused_variables)] implied by #[warn(unused)]
[00:47:50] 13 
[00:47:50] 13 
[00:47:50] 14 warning: unused variable: `mut_unused_var`
[00:47:50] +   --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:39:13
[00:47:50] 16    |
[00:47:50] 16    |
[00:47:50] 17 LL |     let mut mut_unused_var = 1;
[00:47:50] -    |             ^^^^^^^^^^^^^^ help: consider using `_mut_unused_var` instead
[00:47:50] +    |             ^^^^^^^^^^^^^^ help: consider using `_mut_unused_var` instead: `_mut_unused_var`
[00:47:50] 20 warning: unused variable: `var`
[00:47:50] -   --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:40:14
[00:47:50] +   --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:41:14
[00:47:50] 22    |
[00:47:50] 22    |
[00:47:50] 23 LL |     let (mut var, unused_var) = (1, 2);
[00:47:50] -    |              ^^^ help: consider using `_var` instead
[00:47:50] +    |              ^^^ help: consider using `_var` instead: `_var`
[00:47:50] 26 warning: unused variable: `unused_var`
[00:47:50] -   --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:40:19
[00:47:50] +   --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:41:19
[00:47:50] 28    |
[00:47:50] 28    |
[00:47:50] 29 LL |     let (mut var, unused_var) = (1, 2);
[00:47:50] -    |                   ^^^^^^^^^^ help: consider using `_unused_var` instead
[00:47:50] +    |                   ^^^^^^^^^^ help: consider using `_unused_var` instead: `_unused_var`
[00:47:50] 31 
[00:47:50] 32 warning: unused variable: `corridors_of_light`
[00:47:50] +   --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:43:26
[00:47:50] 34    |
[00:47:50] 34    |
[00:47:50] 35 LL |     if let SoulHistory { corridors_of_light,
[00:47:50] 36    |                          ^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `corridors_of_light: _`
[00:47:50] 37 
[00:47:50] 37 
[00:47:50] 38 warning: variable `hours_are_suns` is assigned to, but never used
[00:47:50] +   --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:44:30
[00:47:50] 40    |
[00:47:50] 40    |
[00:47:50] 41 LL |                          mut hours_are_suns,
[00:47:50] 
[00:47:50] 
[00:47:50] 44    = note: consider using `_hours_are_suns` instead
[00:47:50] 45 
[00:47:50] 46 warning: value assigned to `hours_are_suns` is never read
[00:47:50] -   --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:45:9
[00:47:50] +   --> $DIR/issue_ } => {}
[00:47:50] 
[00:47:50] 
[00:47:50]     // Referenced struct
[00:47:50]     match &bag {
[00:47:50]         &Large::Suit { case: _ } => {}
[00:47:50] 
[00:47:50] 
[00:47:50]     // Boxed struct
[00:47:50]     match box bag {
[00:47:50]         box Large::Suit { case: _ } => {}
[00:47:50] 
[00:47:50] 
[00:47:50]     // Tuple with struct
[00:47:50]     match (bag,) {
[00:47:50]         (Large::Suit { case: _ },) => {}
[00:47:50] 
[00:47:50] 
[00:47:50]     // Slice with struct
[00:47:50]     match [bag] {
[00:47:50]         [Large::Suit { case: _ }] => {}
[00:47:50] 
[00:47:50] 
[00:47:50]     // Tuple struct with struct
[00:47:50]     match Tuple(bag, ()) {
[00:47:50]         Tuple(Large::Suit { case: _ }, ()) => {}
[00:47:50] }
[00:47:50] 
[00:47:50] 
[00:47:50] 
[00:47:50] 
[00:47:50] The actual fixed differed from the expected fixed.
[00:47:50] Actual fixed saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.fixed
[00:47:50] To update references, run this command from build directory:
[00:47:50] /checkout/src/test/ui/update-references.sh '/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui' 'lint/issue-47390-unused-variable-in-struct-pattern.rs'
[00:47:50] error: 2 errors occurred comparing output.
[00:47:50] status: exit code: 0
[00:47:50] status: exit code: 0
[00:47:50] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
[00:47:50] ------------------------------------------
[00:47:50] 
[00:47:50] ------------------------------------------
[00:47:50] stderr:
[00:47:50] stderr:
[00:47:50] ------------------------------------------
[00:47:50] {"message":"unused variable: `i_think_continually`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":823,"byte_end":842,"line_start":32,"line_end":32,"column_start":9,"column_end":28,"is_primary":true,"text":[{"text":"    let i_think_continually = 2;","highlight_start":9,"highlight_end":28}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"lint level defined here","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":557,"byte_end":563,"line_start":16,"line_end":16,"column_start":9,"column_end":15,"is_primary":true,"text":[{"text":"#![warn(unused)] // UI tests pass `-A unused` (#43896)","highlight_start":9,"highlight_end":15}],"label":null,"suggested_replacemen/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1050,"byte_end":1053,"line_start":41,"line_end":41,"column_start":14,"column_end":17,"is_primary":true,"text":[{"text":"    let (mut var, unused_var) = (1, 2);","highlight_start":14,"highlight_end":17}],"label":null,"suggested_replacement":"_var","expansion":null}],"children":[],"rendered":null}],"rendered":"warning: unused variable: `var`\n  --> /checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs:41:14\n   |\nLL |     let (mut var, unused_var) = (1, 2);\n   |              ^^^ help: consider using `_var` instead: `_var`\n\n"}
[00:47:50] {"message":"unused variable: `unused_var`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1055,"byte_end":1065,"line_start":41,"line_end":41,"column_start":19,"column_end":29,"is_primary":true,"text":[{"text":"    let (mut var, unused_var) = (1, 2);","highlight_start":19,"highlight_end":29}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"consider using `_unused_var` instead","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1055,"byte_end":1065,"line_start":41,"line_end":41,"column_start":19,"column_end":29,"is_primary":true,"text":[{"text":"    let (mut var, unused_var) = (1, 2);","highlight_start":19,"highlight_end":29}],"label":null,"suggested_replacement":"_unused_var","expansion":null}],"children":[],"rendered":null}],"rendered":"warning: unused variable: `unused_var`\n  --> /checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs:41:19\n   |\nLL |     let (mut var, unused_var) = (1, 2);\n   |                   ^^^^^^^^^^ help: consider using `_unused_var` instead: `_unused_var`\n\n"}
[00:47:50] {"message":"unused variable: `corridors_of_light`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1103,"byte_end":1121,"line_start":43,"line_end":43,"column_start":26,"column_end":44,"is_primary":true,"text":[{"text":"    if let SoulHistory { corridors_of_light,","highlight_start":26,"highlight_end":44}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"try ignoring the field","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1103,"byte_end":1121,"line_start":43,"line_end":43,"column_start":26,"column_end":44,"is_primary":true,"text":[{"text":"    if let SoulHistory { corridors_of_light,","highlight_start":26,"highlight_end":44}],"label":null,"suggested_replacement":"corridors_of_light: _","expansion":null}],"children":[],"rendered":null}],"rendered":"warning: unused variable: `corridors_of_light`\n  --> /checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs:43:26\n   |\nLL |     if let SoulHistory { corridors_of_light,\n   |                          ^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `corridors_of_light: _`\n\n"}
[00:47:50] {"message":"variable `hours_are_suns` is assigned to, but never used","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1152,"byte_end":1166,"line_start":44,"line_end":44,"column_start":30,"column_end":44,"is_primary":true,"text":[{"text":"                         mut hours_are_suns,","highlight_start":30,"highlight_end":44}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"consider using `_hours_are_suns` instead","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"warning: variable `hours_are_suns` is assigned to, but never used\n  --> /checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs:44:30\n   |\nLL |                          mut hours_are_suns,\n   |                              ^^^^^^^^^^^^^^\n   |\n   = note: consider using `_hours_are_suns` instead\n\n"}
[00:47:50] {"message":"value assigned to `hours_are_suns` is never read","code":{"code":"unused_assignments","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1262,"byte_end":1276,"line_start":46,"line_end":46,"column_start":9,"column_end":23,"is_primary":true,"text":[{"text":"        hours_are_suns = false;","highlight_start":9,"highlight_end":23}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"lint level defined here","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-patterntruct-pattern.rs:60:24\n   |\nLL |         &Large::Suit { case } => {}\n   |                        ^^^^ help: try ignoring the field: `case: _`\n\n"}
[00:47:50] {"message":"unused variable: `case`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1577,"byte_end":1581,"line_start":65,"line_end":65,"column_start":27,"column_end":31,"is_primary":true,"text":[{"text":"        box Large::Suit { case } => {}","highlight_start":27,"highlight_end":31}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"try ignoring the field","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1577,"byte_end":1581,"line_start":65,"line_end":65,"column_start":27,"column_end":31,"is_primary":true,"text":[{"text":"        box Large::Suit { case } => {}","highlight_start":27,"highlight_end":31}],"label":null,"suggested_replacement":"case: _","expansion":null}],"children":[],"rendered":null}],"rendered":"warning: unused variable: `case`\n  --> /checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs:65:27\n   |\nLL |         box Large::Suit { case } => {}\n   |                           ^^^^ help: try ignoring the field: `case: _`\n\n"}
[00:47:50] {"message":"unused variable: `case`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1665,"byte_end"ct-pattern.rs","byte_start":1754,"byte_end":1758,"line_start":75,"line_end":75,"column_start":24,"column_end":28,"is_primary":true,"text":[{"text":"        [Large::Suit { case }] => {}","highlight_start":24,"highlight_end":28}],"label":null,"suggested_replacement":"case: _","expansion":null}],"children":[],"rendered":null}],"rendered":"warning: unused variable: `case`\n  --> /checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs:75:24\n   |\nLL |         [Large::Suit { case }] => {}\n   |                        ^^^^ help: try ignoring the field: `case: _`\n\n"}
[00:47:50] {"message":"unused variable: `case`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1863,"byte_end":1867,"line_start":80,"line_end":80,"column_start":29,"column_end":33,"is_primary":true,"text":[{"text":"        Tuple(Large::Suit { case }, ()) => {}","highlight_start":29,"highlight_end":33}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"try ignoring the field","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1863,"byte_end":1867,"line_start":80,"line_end":80,"column_start":29,"column_end":33,"is_primary":true,"text":[{"text":"        Tuple(Large::Suit { case }, ()) => {}","highlight_start":29,"highlight_end":33}],"label":null,"suggested_replacement":"case: _","expansion":null}],"children":[],"rendered":null}],"rendered":"warning: unused variable: `case`\n  --> /checkout/src,"highlight_start":9,"highlight_end":13}],"label":null,"suggested_replacement":"","expansion":null}],"children":[],"rendered":null}],"rendered":"warning: variable does not need to be mutable\n  --> /checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs:39:9\n   |\nLL |     let mut mut_unused_var = 1;\n   |         ----^^^^^^^^^^^^^^\n   |         |\n   |         help: remove this `mut`\n   |\nnote: lint level defined here\n  --> /checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs:16:9\n   |\nLL | #![warn(unused)] // UI tests pass `-A unused` (#43896)\n   |         ^^^^^^\n   = note: #[warn(unused_mut)] implied by #[warn(unused)]\n\n"}
[00:47:50] {"message":"variable does not need to be mutable","code":{"code":"unused_mut","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1046,"byte_end":1053,"line_start":41,"line_end":41,"column_start":10,"column_end":17,"is_primary":true,"text":[{"text":"    let (mut var, unused_var) = (1, 2);","highlight_start":10,"highlight_end":17}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"remove this `mut`","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1046,"byte_end":1050,"line_start":41,"line_end":41,"column_start":10,"column_end":14,"is_primary":true,"text":[{"text":"    let (mut var, unused_var) = (1, 2);","highlight_start":10,"highlight_end":14}],"label":null,"suggested_replacement":"","expansion":null}],"children":[]," 101
[00:47:50] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/span/issue-24690.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/span/issue-24690.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/span/issue-24690.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
[00:47:50] ------------------------------------------
[00:47:50] 
[00:47:50] ------------------------------------------
[00:47:50] stderr:
[00:47:50] stderr:
[00:47:50] ------------------------------------------
[00:47:50] {"message":"unused variable: `theOtherTwo`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/span/issue-24690.rs","byte_start":889,"byte_end":900,"line_start":23,"line_end":23,"column_start":9,"column_end":20,"is_primary":true,"text":[{"text":"    let theOtherTwo = 2; //~ WARN should have a snake case name","highlight_start":9,"highlight_end":20}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"lint level defined here","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/span/issue-24690.rs","byte_start":752,"byte_end":758,"line_start":18,"line_end":18,"column_start":9,"column_end":15,"is_primary":true,"text":[{"text":"#![warn(unused)]","highlightt":9,"highlight_end":15}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"#[warn(non_snake_case)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"warning: variable `theTwo` should have a snake case name such as `the_two`\n  --> /checkout/src/test/ui/span/issue-24690.rs:22:9\n   |\nLL |     let theTwo = 2; //~ WARN should have a snake case name\n   |         ^^^^^^\n   |\n   = note: #[warn(non_snake_case)] on by default\n\n"}
[00:47:50] {"message":"variable `theOtherTwo` should have a snake case name such as `the_other_two`","code":{"code":"non_snake_case","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/span/issue-24690.rs","byte_start":889,"byte_end":900,"line_start":23,"line_end":23,"column_start":9,"column_end":20,"is_primary":true,"text":[{"text":"    let theOtherTwo = 2; //~ WARN should have a snake case name","highlight_start":9,"highlight_end":20}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[],"rendered":"warning: variable `theOtherTwo` should have a snake case name such as `the_other_two`\n  --> /checkout/src/test/ui/span/issue-24690.rs:23:9\n   |\nLL |     let theOtherTwo = 2; //~ WARN should have a snake case name\n   |         ^^^^^^^^^^^\n\n"}
[00:47:50] {"message":"compilation successful","code":null,"level":"error","spans":[{"file_name":"/checkout/src/test/ui/span/issue-24690.rs","byte_start":777,"byte_end":1004,"line_start":21,"line_end":26,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"fn main() { //~ ERROR compilation successful","highlight_

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@rust-highfive
Copy link
Contributor

The job x86_64-gnu-llvm-3.9 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
[00:43:59] ....................................................................................................
[00:44:03] ....................................................................................................
[00:44:08] ....................................................................................................
[00:44:14] ....................................................................................................
[00:44:19] ...................................................................F................................
[00:44:30] ...............i....................................................................................
[00:44:35] ..................................ii................................................................
[00:44:35] ..................................ii................................................................
[00:44:41] ..................F.................................................................................
n/rustc" "/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
[00:44:48] ------------------------------------------
[00:44:48] 
[00:44:48] ------------------------------------------
[00:44:48] stderr:
[00:44:48] stderr:
[00:44:48] ------------------------------------------
[00:44:48] {"message":"unused variable: `i_think_continually`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":823,"byte_end":842,"line_start":32,"line_end":32,"column_start":9,"column_end":28,"is_primary":true,"text":[{"text":"    let i_think_continually = 2;","highlight_start":9,"highlight_end":28}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"lint level defined here","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":557,"byte_end":563,"line_start":16,"line_end":16,"column_start":9,"column_end":"expansion":null}],"children":[],"rendered":null}],"rendered":"warning: unused variable: `unused_var`\n  --> /checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs:41:19\n   |\nLL |     let (mut var, unused_var) = (1, 2);\n   |                   ^^^^^^^^^^ help: consider using `_unused_var` instead: `_unused_var`\n\n"}
[00:44:48] {"message":"unused variable: `corridors_of_light`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1103,"byte_end":1121,"line_start":43,"line_end":43,"column_start":26,"column_end":44,"is_primary":true,"text":[{"text":"    if let SoulHistory { corridors_of_light,","highlight_start":26,"highlight_end":44}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"try ignoring the field","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1103,"byte_end":1121,"line_start":43,"line_end":43,"column_start":26,"column_end":44,"is_primary":true,"text":[{"text":"    if let SoulHistory { corridors_of_light,","highlight_start":26,"highlight_end":44}],"label":null,"suggested_replacement":"corridors_of_light: _","expansion":null}],"children":[],"rendered":null}],"rendered":"warning: unused variable: `corridors_of_light`\n  --> /checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs:43:26\n   |\nLL |     if let SoulHistory { corridors_of_light,\n   |                          ^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `corridors_of_light: _`\n\n"}
[00:44:48] {"message":"variable `hours_are_suns` is assigned to, but never used","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1152,"byte_end":1166,"line_start":44,"line_end":44,"column_start":30,"column_end":44,"is_primary":true,"text":[{"text":"                         mut hours_are_suns,","highlight_start":30,"highlight_end":44}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"consider using `_hours_are_suns` instead","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"warning: variable `hours_are_suns` is assigned to, but never used\n  --> /checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs:44:30\n   |\nLL |                          mut hours_are_suns,\n   |                              ^^^^^^^^^^^^^^\n   |\n   = note: consider using `_hours_are_suns` instead\n\n"}
[00:44:48] {"message":"value assigned to `hours_are_suns` is never read","code":{"code":"unused_assignments","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1262,"byte_end":1276,"line_start":46,"line_end":46,"column_start":9,"column_end":23,"is_primary":true,"text":[{"text":"        hours_are_suns = false;","highlight_start":9,"highlight_end":23}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"lint level defined here","code":null,"level":"note","spans":[{"file_name":ile_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1754,"byte_end":1758,"line_start":75,"line_end":75,"column_start":24,"column_end":28,"is_primary":true,"text":[{"text":"        [Large::Suit { case }] => {}","highlight_start":24,"highlight_end":28}],"label":null,"suggested_replacement":"case: _","expansion":null}],"children":[],"rendered":null}],"rendered":"warning: unused variable: `case`\n  --> /checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs:75:24\n   |\nLL |         [Large::Suit { case }] => {}\n   |                        ^^^^ help: try ignoring the field: `case: _`\n\n"}
[00:44:48] {"message":"unused variable: `case`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1863,"byte_end":1867,"line_start":80,"line_end":80,"column_start":29,"column_end":33,"is_primary":true,"text":[{"text":"        Tuple(Large::Suit { case }, ()) => {}","highlight_start":29,"highlight_end":33}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"try ignoring the field","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1863,"byte_end":1867,"line_start":80,"line_end":80,"column_start":29,"column_end":33,"is_primary":true,"text":[{"text":"        Tuple(Large::Suit { case }, ()) => {}","highlight_start":29,"highlight_end":33}],"label":null,"suggested_replacement":"case: _","expansion":null}],"children":[],"rendered"text":[{"text":"fn main() { //~ ERROR compilation successful","highlight_start":1,"highlight_end":45},{"text":"    let theTwo = 2; //~ WARN should have a snake case name","highlight_start":1,"highlight_end":59},{"text":"    let theOtherTwo = 2; //~ WARN should have a snake case name","highlight_start":1,"highlight_end":64},{"text":"    //~^ WARN unused variable","highlight_start":1,"highlight_end":30},{"text":"    println!(\"{}\", theTwo);","highlight_start":1,"highlight_end":28},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error: compilation successful\n  --> /checkout/src/test/ui/span/issue-24690.rs:21:1\n   |\nLL | / fn main() { //~ ERROR compilation successful\nLL | |     let theTwo = 2; //~ WARN should have a snake case name\nLL | |     let theOtherTwo = 2; //~ WARN should have a snake case name\nLL | |     //~^ WARN unused variable\nLL | |     println!(\"{}\", theTwo);\nLL | | }\n   | |_^\n\n"}
[00:44:48] {"message":"aborting due to previous error","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to previous error\n\n"}
[00:44:48] ------------------------------------------
[00:44:48] 
[00:44:48] thread '[ui] ui/span/issue-24690.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3033:9
[00:44:48] 
---
[00:44:48] 
[00:44:48] thread 'main' panicked at 'Some tests failed', tools/compiletest/src/main.rs:492:22
[00:44:48] 
[00:44:48] 
[00:44:48] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/checkout/src/test/ui" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "ui" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-3.9/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Zunstable-options " "--target-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--quiet" "--llvm-version" "3.9.1\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
[00:44:48] 
[00:44:48] 
[00:44:48] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[00:44:48] Build completed unsuccessfully in 0:02:26
[00:44:48] Build completed unsuccessfully in 0:02:26
[00:44:48] make: *** [check] Error 1
[00:44:48] Makefile:58: recipe for target 'check' failed
75492 ./obj/build/x86_64-unknown-linux-gnu/stage0-tools/release
71536 ./.git/modules/src/tools
70976 ./obj/build/x86_64-unknown-linux-gnu/native
70716 ./obj/build/x86_64-unknown-linux-gnu/stage0-rustc
70716 ./obj/build/x86_64-unknown-linux-gnu/stage0-rustc
70300 ./obj/build/x86_64-unknown-linux-gnu/native/jemalloc
68788 ./src/llvm/lib
65416 ./src/llvm-emscripten/test/CodeGen
60840 ./src/llvm-emscripten/lib
56088 ./obj/build/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/bin
55448 ./obj/build/x86_64-unknown-linux-gnu/stage0-rustc/release
53648 ./obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/incremental/syntax-1q0trsiw2bs8m
53644 ./obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/incremental/syntax-1q0trsiw2bs8m/s-f0zi6d8c75-6us3yb-28ws1xvt2npoa
48604 ./obj/build/x86_64-unknown-linux-gnu/stage0/bin
47984 ./obj/build/x86_64-unknown-linux-gnu/stage0-std
47236 ./src/test
46812 ./obj/build/x86_64-unknown-linux-gnu/stage1-std/release

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@rust-highfive
Copy link
Contributor

The job x86_64-gnu-llvm-3.9 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
[00:49:56] ....................................................................................................
[00:50:00] ....................................................................................................
[00:50:05] ....................................................................................................
[00:50:11] ....................................................................................................
[00:50:17] ...................................................................F................................
[00:50:28] ................i...................................................................................
[00:50:34] ...................................ii...............................................................
[00:50:34] ...................................ii...............................................................
[00:50:41] ...................F................................................................................
[00:50:48] 40    |
[00:50:48] 40    |
[00:50:48] 41 LL |                          mut hours_are_suns,
[00:50:48] 
[00:50:48] 
[00:50:48] 44    = note: consider using `_hours_are_suns` instead
[00:50:48] 45 
[00:50:48] 46 warning: value assigned to `hours_are_suns` is never read
[00:50:48] +   --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:46:9
[00:50:48] 48    |
[00:50:48] 48    |
[00:50:48] 49 LL |         hours_are_suns = false;
[00:50:48] 
[00:50:48] 51    |
[00:50:48] 52 note: lint level defined here
[00:50:48] -   --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:15:9
[00:50:48] -   --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:15:9
[00:50:48] +   --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:16:9
[00:50:48] 54    |
[00:50:48] 55 LL | #![warn(unused)] // UI tests pass `-A unused` (#43896)
[00:50:48] 
[00:50:48] 57    = note: #[warn(unused_assignments)] implied by #[warn(unused)]
[00:50:48] 58 
[00:50:48] 58 
[00:50:48] 59 warning: unused variable: `case`
[00:50:48] +   --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:55:23
[00:50:48] 61    |
[00:50:48] 61    |
[00:50:48] 62 LL |         Large::Suit { case } => {}
[00:50:48] 63    |                       ^^^^ help: try ignoring the field: `case: _`
[00:50:48] 64 
[00:50:48] 64 
[00:50:48] 65 warning: unused variable: `case`
[00:50:48] -   --> $DIR/issue-47390-unused-variable-in-struct-pattern.rs:59:24
[00:50:48 if let SoulHistory { corridors_of_light: _,
[00:50:48]                          mut hours_are_suns,
[00:50:48]                          endless_and_singing: true } = who_from_the_womb_remembered {
[00:50:48]         hours_are_suns = false;
[00:50:48] 
[00:50:48] 
[00:50:48]     let bag = Large::Suit {
[00:50:48]         case: ()
[00:50:48] 
[00:50:48] 
[00:50:48]     // Plain struct
[00:50:48]     match bag {
[00:50:48]         Large::Suit { case: _ } => {}
[00:50:48] 
[00:50:48] 
[00:50:48]     // Referenced struct
[00:50:48]     match &bag {
[00:50:48]         &Large::Suit { case: _ } => {}
[00:50:48] 
[00:50:48] 
[00:50:48]     // Boxed struct
[00:50:48]     match box bag {
[00:50:48]         box Large::Suit { case: _ } => {}
[00:50:48] 
[00:50:48] 
[00:50:48]     // Tuple with struct
[00:50:48]     match (bag,) {
[00:50:48]         (Large::Suit { case: _ },) => {}
[00:50:48] 
[00:50:48] 
[00:50:48]     // Slice with struct
[00:50:48]     match [bag] {
[00:50:48]         [Large::Suit { case: _ }] => {}
[00:50:48] 
[00:50:48] 
[00:50:48]     // Tuple struct with struct
[00:50:48]     match Tuple(bag, ()) {
[00:50:48]         Tuple(Large::Suit { case: _ }, ()) => {}
[00:50:48] }
[00:50:48] 
[00:50:48] 
[00:50:48] 
[00:50:48] 
[00:50:48] The actual fixed differed from the expected fixed.
[00:50:48] Actual fixed saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.fixed
[00:50:48] To update references, run this command from build directory:
[00:50:48] /checkout/src/test/ui/up"file_name":"/checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs","byte_start":1046,"byte_end":1050,"line_start":41,"line_end":41,"column_start":10,"column_end":14,"is_primary":true,"text":[{"text":"    let (mut var, unused_var) = (1, 2);","highlight_start":10,"highlight_end":14}],"label":null,"suggested_replacement":"","expansion":null}],"children":[],"rendered":null}],"rendered":"warning: variable does not need to be mutable\n  --> /checkout/src/test/ui/lint/issue-47390-unused-variable-in-struct-pattern.rs:41:10\n   |\nLL |     let (mut var, unused_var) = (1, 2);\n   |          ----^^^\n   |          |\n   |          help: remove this `mut`\n\n"}
[00:50:48] ------------------------------------------
[00:50:48] 
[00:50:48] thread '[ui] ui/lint/issue-47390-unused-variable-in-struct-pattern.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3033:9
[00:50:48] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:50:48] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:50:48] 
[00:50:48] ---- [ui] ui/span/issue-24690.rs stdout ----
[00:50:48]  diff of stderr:
[00:50:48] 
[00:50:48] 2   --> $DIR/issue-24690.rs:23:9
[00:50:48] 3    |
[00:50:48] 4 LL |     let theOtherTwo = 2; //~ WARN should have a snake case name
[00:50:48] -    |         ^^^^^^^^^^^ help: consider using `_theOtherTwo` instead
[00:50:48] +    |         ^^^^^^^^^^^ help: consider using `_theOtherTwo` instead: `_theOtherTwo`
[00:50:48] 7 note: lint level defined here
[00:50:48] 8   --> $DIR/issue-24690.rs:18:9
[00:50:48] 
[00:50:48] 
[00:50:48] 
[00:50:48] The actual stderr differed from the expected stderr.
[00:50:48] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/span/issue-24690.stderr
[00:50:48] To update references, run this command from build directory:
[00:50:48] /checkout/src/test/ui/update-references.sh '/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui' 'span/issue-24690.rs'
[00:50:48] error: 1 errors occurred comparing output.
[00:50:48] status: exit code: 101
[00:50:48] status: exit code: 101
[00:50:48] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/span/issue-24690.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/span/issue-24690.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/span/issue-24690.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
[00:50:48] ------------------------------------------
[00:50:48] 
[00:50:48] ------------------------------------------
[00:50:48] stderr:
[00:50:48] stderr:
[00:50:48] ------------------------------------------
[00:50:48] {"message":"unused variable: `theOtherTwo`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/span/issue-24690.rs","byte_start":889,"byte_end":900,"line_start":23,"line_end":23,"column_start":9,"column_end":20,"is_primary":true,"text":[{"text":"    let theOtherTwo = 2; //~ WARN should have a snake case name","highlight_start":9,"he a snake case name such as `the_two`","code":{"code":"non_snake_case","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/span/issue-24690.rs","byte_start":830,"byte_end":836,"line_start":22,"line_end":22,"column_start":9,"column_end":15,"is_primary":true,"text":[{"text":"    let theTwo = 2; //~ WARN should have a snake case name","highlight_start":9,"highlight_end":15}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"#[warn(non_snake_case)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"warning: variable `theTwo` should have a snake case name such as `the_two`\n  --> /checkout/src/test/ui/span/issue-24690.rs:22:9\n   |\nLL |     let theTwo = 2; //~ WARN should have a snake case name\n   |         ^^^^^^\n   |\n   = note: #[warn(non_snake_case)] on by default\n\n"}
[00:50:48] {"message":"variable `theOtherTwo` should have a snake case name such as `the_other_two`","code":{"code":"non_snake_case","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/span/issue-24690.rs","byte_start":889,"byte_end":900,"line_start":23,"line_end":23,"column_start":9,"column_end":20,"is_primary":true,"text":[{"text":"    let theOtherTwo = 2; //~ WARN should have a snake case name","highlight_start":9,"highlight_end":20}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[],"rendered":"warning: variable `theOtherTwo` should have a snake case name such as `the_other_two`\n  --> /checkout/src/test/ui/span/issue-24690.rs:23:9\n   |\nLL |     let theOtherTwo = 2; //~ WARN should havetravis_time:start:071f2ad3

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@oli-obk
Copy link
Contributor

oli-obk commented May 13, 2018

@killercup what actions are needed here?

@csmoe
Copy link
Member Author

csmoe commented May 13, 2018

@oli-obk I had talked with @killercup on discord, the failed test will be fixed once a new version rustfix published.

@killercup
Copy link
Member

killercup commented May 13, 2018

In addition to the // run-rustfix line, you'll also need to add a corresponding .fixed file, that contains the fixed code. This is probablematic right now, because the rustfix compiletest uses needs to be updated so these fixes work (I'll publish a new version and open a PR here soon).

We should land this right now, but without the rustfix test mode and the applicability flag. After a rustfix update, we can then add the applicability flag and "prove" it's working by adding the rustfix tests.

This reverts commit a880971.
@oli-obk
Copy link
Contributor

oli-obk commented May 13, 2018

makes sense.

@bors r+

@bors
Copy link
Collaborator

bors commented May 13, 2018

📌 Commit c4e99dd has been approved by oli-obk

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 13, 2018
@bors
Copy link
Collaborator

bors commented May 14, 2018

⌛ Testing commit c4e99dd with merge 4468e3e...

bors added a commit that referenced this pull request May 14, 2018
Reduce span highlighted code in unused_variables lint

Fixes #50472
- [X] reduce var span
- [ ] mark applicable

Before:
```
mut unused_mut_var
^^^^^^^^^^^^^^^^^^
```
After:
```
mut unused_mut_var
    ^^^^^^^^^^^^^^
```
@bors
Copy link
Collaborator

bors commented May 14, 2018

☀️ Test successful - status-appveyor, status-travis
Approved by: oli-obk
Pushing 4468e3e to master...

@bors bors merged commit c4e99dd into rust-lang:master May 14, 2018
@csmoe csmoe deleted the var_span branch July 26, 2018 13:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants