Skip to content
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

Match errors using the callsite of macro expansions #52175

Merged
merged 1 commit into from
Jul 23, 2018
Merged

Match errors using the callsite of macro expansions #52175

merged 1 commit into from
Jul 23, 2018

Conversation

fpoli
Copy link
Contributor

@fpoli fpoli commented Jul 9, 2018

Fix for issue #51848

@rust-highfive
Copy link
Collaborator

r? @alexcrichton

(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 Jul 9, 2018
@jonas-schievink
Copy link
Contributor

Looks like you tagged the wrong issue there

@rust-highfive
Copy link
Collaborator

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.
travis_time:start:test_ui
Check compiletest suite=ui mode=ui (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[00:43:07] 
[00:43:07] running 1554 tests
[00:43:12] ........................................................................F..............F..........i.
[00:43:19] ..............................................................i.FF...........F......................
[00:43:23] ........F..................F...F....................................................................
[00:43:27] ....................................................................................................
[00:43:30] ........................................................................................FF..........
[00:43:34] ....................................................................................................
[00:43:39] ...........................F......................F...F.FF.F.FFF..F...FF............................
[00:43:44] .F......................................................................FF..F.......................
[00:43:50] ....F....................F.................................................F........................
[00:43:55] ..........................................F..........F................F.........F...F.F..F.FF..FF.F.
[00:44:02] .................F................i.................................................................
[00:44:07] .......................i...............................................F...F....FF.F.......F........
[00:44:13] ....................................................................................................
[00:44:19] ...............................................F..........F...........F......................F......
[00:44:26] ....................................................................i.......F.......................
[00:44:29] ....FF.....FF......................F..................
[00:44:29] 
[00:44:29] ---- [ui] ui/catch-block-type-error.rs stdout ----
[00:44:29] 
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/catch-block-type-error.rs:22: unexpected error: '22:35: 24:6: type mismatch resolving `<std::option::Option<i32> as std::ops::Try>::Ok == ()` [E0271]'
[00:44:29] error: /checkout/src/test/ui/catch-block-type-error.rs:24: expected error not found: type mismatch
[00:44:29] 
[00:44:29] error: 1 unexpected errors found, 1 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/catch-block-type-error.rs" "--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/catch-block-type-error/a" "-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/catch-block-type-error/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 22,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "22:35: 24:6: type mismatch resolving `<std::option::Option<i32> as std::ops::Try>::Ok == ()` [E0271]"
[00:44:29] ]
[00:44:29] 
[00:44:29] not found errors (from test file): [
[00:44:29]     Error {
[00:44:29]     Error {
[00:44:29]         line_num: 24,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "type mismatch"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/catch-block-type-error.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:44:29] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:44:29] 
[00:44:29] ---- [ui] ui/codemap_tests/bad-format-args.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/codemap_tests/bad-format-args.rs:12: unexpected error: '12:5: 12:15: requires at least a format string argument'
[00:44:29] error: /checkout/src/test/ui/codemap_tests/bad-format-args.rs:13: unexpected error: '13:5: 13:19: expected token: `,`'
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/codemap_tests/bad-format-args.rs:14: unexpected error: '14:5: 14:22: expected token: `,`'
[00:44:29] 
[00:44:29] 
[00:44:29] error: 3 unexpected errors found, 0 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/codemap_tests/bad-format-args.rs" "--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/codemap_tests/bad-format-args/a" "-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/codemap_tests/bad-format-args/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 12,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "12:5: 12:15: requires at least a format string argument"
[00:44:29]     Error {
[00:44:29]         line_num: 13,
[00:44:29]         kind: Some(
[00:44:29]             Error
---
[00:44:29] thread '[ui] ui/codemap_tests/bad-format-args.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] ---- [ui] ui/cross-crate-macro-backtrace/main.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/cross-crate-macro-backtrace/main.rs:18: unexpected error: '18:5: 18:22: 1 positional argument in format string, but no arguments were given'
[00:44:29] error: 1 unexpected errors found, 0 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/cross-crate-macro-backtrace/main.rs" "--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/cross-crate-macro-backtrace/main/a" "-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/cross-crate-macro-backtrace/main/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 18,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "18:5: 18:22: 1 positional argument in format string, but no arguments were given"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/cross-crate-macro-backtrace/main.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] 
[00:44:29] ---- [ui] ui/cross-file-errors/main.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/cross-file-errors/main.rs:15: unexpected error: '15:5: 15:19: expected expression, found reserved identifier `_`'
[00:44:29] error: 1 unexpected errors found, 0 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/cross-file-errors/main.rs" "--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/cross-file-errors/main/a" "-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/cross-file-errors/main/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 15,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "15:5: 15:19: expected expression, found reserved identifier `_`"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/cross-file-errors/main.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
---
[00:44:29] error: /checkout/src/test/ui/deref-suggestion.rs:12: expected error not found: mismatched types
[00:44:29] 
[00:44:29] error: 1 unexpected errors found, 1 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/deref-suggestion.rs" "--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/dlinux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/did_you_mean/recursion_limit_macro/a" "-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/did_you_mean/recursion_limit_macro/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 24,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "24:5: 24:55: recursion limit reached while expanding the macro `recurse`"
[00:44:29] ]
[00:44:29] 
[00:44:29] not found errors (from test file): [
[00:44:29]     Error {
[00:44:29]     Error {
[00:44:29]         line_num: 20,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "recursion limit"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/did_you_mean/recursion_limit_macro.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] 
[00:44:29] ---- [ui] ui/edition-keywords-2015-2018-expansion.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/edition-keywords-2015-2018-expansion.rs:20: unexpected error: '20:5: 20:23: expected identifier, found reserved keyword `async`'
[00:44:29] error: 1 unexpected errors found, 0 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkoutknown-linux-gnu/test/ui/edition-keywords-2018-2018-expansion/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--edition=2018" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/edition-keywords-2018-2018-expansion/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 20,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "20:5: 20:23: expected identifier, found reserved keyword `async`"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/edition-keywords-2018-2018-expansion.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] 
[00:44:29] ---- [ui] ui/feature-gate-allow-internal-unsafe-nested-macro.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/feature-gate-allow-internal-unsafe-nested-macro.rs:25: unexpected error: '25:1: 25:8: allow_internal_unsafe side-steps the unsafe_code lint [E0658]'
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/feature-gate-allow-internal-unsafe-nested-macro.rs:18: expected error not found: allow_internal_unsafe side-steps
[00:44:29] error: 1 unexpected errors found, 1 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/feature-gate-allow-internal-unsafe-nested-macro.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/chec      msg: "49:5: 49:23: method `method` is not a member of trait `Tr` [E0407]"
[00:44:29]     Error {
[00:44:29]         line_num: 49,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "49:5: 49:23: not all trait items implemented, missing: `method` [E0046]"
[00:44:29] ]
[00:44:29] 
[00:44:29] not found errors (from test file): [
[00:44:29]     Error {
[00:44:29]     Error {
[00:44:29]         line_num: 44,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "not all trait items implemented, missing: `method`"
[00:44:29]     Error {
[00:44:29]         line_num: 45,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "method `method` is not a member of trait `Tr`"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/hygiene/assoc_item_ctxt.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] 
[00:44:29] ---- [ui] ui/hygiene/fields-definition.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/hygiene/fields-definition.rs:30: unexpected error: '30:1: 30:12: field `a` is already declared [E0124]'
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/hygiene/fields-definition.rs:24: expected error not found: field `a` is already declared
[00:44:29] error: 1 unexpected errors found, 1 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/hygiene/fields-definition.rs" "--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/hygiene/fields-definition/a" "-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/hygiene/fields-definition/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 30,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "30:1: 30:12: field `a` is already declared [E0124]"
[00:44:29] ]
[00:44:29] 
[00:44:29] not found errors (from test file): [
[00:44:29]     Error {
[00:44:29]     Error {
[00:44:29]         line_num: 24,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "field `a` is already declared"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/hygiene/fields-definition.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] 
[00:44:29] ---- [ui] ui/hygiene/fields-move.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/hygiene/fields-move.rs:39: unexpected error: '39:42: 39:47: use of moved value: `foo.x` [E0382]'
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/hygiene/fields-move.rs:28: expected error not found: use of moved value: `foo.x`
[00:44:29] error: 1 unexpected errors found, 1 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/hygiene/fields-move.rs" "--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/hygiene/fields-move/a" "-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/hygiene/fields-move/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 39,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "39:42: 39:47: use of moved value: `foo.x` [E0382]"
[00:44:29] ]
[00:44:29] 
[00:44:29] not found errors (from test file): [
[00:44:29]     Error {
[00:44:29]     Error {
[00:44:29]         line_num: 28,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "use of moved value: `foo.x`"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/hygiene/fields-move.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] 
[00:44:29] ---- [ui] ui/hygiene/fields.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/hygiene/fields.rs:38: unexpected error: '38:13: 38:26: type `foo::S` is private'
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/hygiene/fields.rs:38: unexpected error: '38:13: 38:26: type `foo::S` is private'
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/hygiene/fields.rs:38: unexpected error: '38:13: 38:26: type `foo::T` is private'
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/hygiene/fields.rs:38: unexpected error: '38:13: 38:26: type `foo::T` is private'
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/hygiene/fields.rs:25: expected error not found: type `foo::S` is private
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/hygiene/fields.rs:26: expected error not found: type `foo::S` is private
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/hygiene/fields.rs:28: expected error not found: type `foo::T` is private
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/hygiene/fields.rs:29: expected error not found: type `foo::T` is private
[00:44:29] error: 4 unexpected errors found, 4 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/hygiene/fields.rs" "--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/hygiene/fields/a" "-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/hygiene/fields/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 38,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "38:13: 38:26: type `foo::S` is private"
[00:44:29]     Error {
[00:44:29]         line_num: 38,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "38:13: 38:26: type `foo::S` is private"
[00:44:29]     Error {
[00:44:29]         line_num: 38,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "38:13: 38:26: type `foo::T` is private"
[00:44:29]     Error {
[00:44:29]         line_num: 38,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "38:13: 38:26: type `foo::T` is private"
[00:44:29] ]
[00:44:29] 
[00:44:29] not found errors (from test file): [
[00:44:29]     Error {
[00:44:29]     Error {
[00:44:29]         line_num: 25,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "type `foo::S` is private"
[00:44:29]     Error {
[00:44:29]         line_num: 26,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "type `foo::S` is private"
[00:44:29]     Error {
[00:44:29]         line_num: 28,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "type `foo::T` is private"
[00:44:29]     Error {
[00:44:29]         line_num: 29,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "type `foo::T` is private"
[00:44:29] ]
9,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "29:5: 33:6: cannot find function `g` in this scope [E0425]"
[00:44:29]     Error {
[00:44:29]         line_num: 36,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "36:1: 36:7: cannot find function `f` in this scope [E0425]"
[00:44:29] ]
[00:44:29] 
[00:44:29] not found errors (from test file): [
[00:44:29]     Error {
[00:44:29]     Error {
[00:44:29]         line_num: 25,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "cannot find function `g` in this scope"
[00:44:29]     Error {
[00:44:29]         line_num: 64,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "cannot find function `f` in this scope"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/hygiene/globs.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] 
[00:44:29] ---- [ui] ui/hygiene/impl_items.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/hygiene/impl_items.rs:43: unexpected error: '43:5: 43:15: type `for<'r> fn(&'r foo::S) {foo::S::f}` is private'
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/hygiene/impl_items.rs:22: expected error not found: type `for<'r> fn(&'r foo::S) {foo::S::f}` is private
[00:44:29] error: 1 unexpected errors found, 1 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/hygiene/impl_items.rs" "--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/hygiene/impl_items/a" "-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/hygiene/impl_items/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 43,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "43:5: 43:15: type `for<\'r> fn(&\'r foo::S) {foo::S::f}` is private"
[00:44:29] ]
[00:44:29] 
[00:44:29] not found errors (from test file): [
[00:44:29]     Error {
[00:44:29]     Error {
[00:44:29]         line_num: 22,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "type `for<\'r> fn(&\'r foo::S) {foo::S::f}` is private"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/hygiene/impl_items.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] 
[00:44:29] ---- [ui] ui/hygiene/local_inner_macros_disabled.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/hygiene/local_inner_macros_disabled.rs:19: unexpected error: '19:1: 19:17: cannot find macro `helper2!` in this scope'
[00:44:29] error: 1 unexpected errors found, 0 expected errors not found
[00:44:29] error: 1 unexpected errors found, 0 expected errors not found
[00:44:29] statuso" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/hygiene/intercrate/a" "-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/hygiene/intercrate/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 22,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "22:16: 22:37: type `fn() -> u32 {intercrate::foo::bar::f}` is private"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/hygiene/intercrate.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] 
[00:44:29] ---- [ui] ui/hygiene/no_implicit_prelude.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/hygiene/no_implicit_prelude.rs:15: unexpected error: '15:14: 15:26: failed to resolve. Use of undeclared type or module `Vec` [E0433]'
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/hygiene/no_implicit_prelude.rs:15: unexpected error: '15:14: 15:26: no method named `clone` found for type `()` in the current scope [E0599]'
[00:44:29] error: /checkout/src/test/ui/hygiene/no_implicit_prelude.rs:21: expected error not found: failed to resolve
[00:44:29] 
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/hygiene/no_implicit_prelude.rs:22: expected error not found: no method named `clone` found
[00:44:29] error: 2 unexpected errors found, 2 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkoanic` is already in scope"
[00:44:29] ]
[00:44:29] 
[00:44:29] not found errors (from test file): [
[00:44:29]     Error {
[00:44:29]     Error {
[00:44:29]         line_num: 42,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "`panic` is already in scope"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/imports/shadow_builtin_macros.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] 
[00:44:29] ---- [ui] ui/issue-25385.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/issue-25385.rs:19: unexpected error: '19:5: 19:13: no method named `foo` found for type `i32` in the current scope [E0599]'
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/issue-25385.rs:13: expected error not found: no method named `foo` found for type `i32` in the current scope
[00:44:29] error: 1 unexpected errors found, 1 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/issue-25385.rs" "--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/issue-25385/a" "-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/issue-25385/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 19,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "19:5: 19:13: no method named `foo` found for type `i32` in the current scope [E0599]"
[00:44:29] ]
[00:44:29] 
[00:44:29] not found errors (from test file): [
[00:44:29]     Error {
[00:44:29]     Error {
[00:44:29]         line_num: 13,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "no method named `foo` found for type `i32` in the current scope"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/issue-25385.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] 
[00:44:29] ---- [ui] ui/issue-25793.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/issue-25793.rs:29: unexpected error: '29:20: 29:32: cannot use `self.width` because it was mutably borrowed [E0503]'
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/issue-25793.rs:13: expected error not found: cannot use `self.width` because it was mutably borrowed
[00:44:29] error: 1 unexpected errors found, 1 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/issue-25793.rs" "--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/issue-25793/a" "-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/issue-25793/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 29,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "29:20: 29:32: cannot use `self.width` because it was mutably borrowed [E0503]"
[00:44:29] ]
[00:44:29] 
[00:44:29] not found errors (from test file): [
[00:44:29]     Error {
[00:44:29]     Error {
[00:44:29]         line_num: 13,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "cannot use `self.width` because it was mutably borrowed"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/issue-25793.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] 
[00:44:29] ---- [ui] ui/issue-26093.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/issue-26093.rs:19: unexpected error: '19:5: 19:22: invalid left-hand side expression [E0070]'
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/issue-26093.rs:13: expected error not found: invalid left-hand side expression
[00:44:29] error: 1 unexpected errors found, 1 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/issue-26093.rs" "--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/issue-26093/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x/issue-32950/a" "-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/issue-32950/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 13,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "13:10: 13:15: `derive` cannot be used on items with type macros"
[00:44:29] ]
[00:44:29] 
[00:44:29] not found errors (from test file): [
[00:44:29]     Error {
[00:44:29]     Error {
[00:44:29]         line_num: 15,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "`derive` cannot be used on items with type macros"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/issue-32950.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] 
[00:44:29] ---- [ui] ui/issue-42954.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/issue-42954.rs:23: unexpected error: '23:5: 23:30: `<` is interpreted as a start of generic arguments for `u32`, not a comparison'
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/issue-42954.rs:17: expected message not found: `<` is interpreted as a start of generic arguments
[00:44:29] error: 1 unexpected errors found, 1 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/issue-42954.rs" "--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/issue-42954/a" "-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/issue-42954/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 23,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "23:5: 23:30: `<` is interpreted as a start of generic arguments for `u32`, not a comparison"
[00:44:29] ]
[00:44:29] 
[00:44:29] not found errors (from test file): [
[00:44:29]     Error {
[00:44:29]     Error {
[00:44:29]         line_num: 17,
[00:44:29]         kind: None,
[00:44:29]         msg: "`<` is interpreted as a start of generic arguments"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/issue-42954.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] 
[00:44:29] ---- [ui] ui/issue-50577.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/issue-50577.rs:13: unexpected error: '13:16: 13:32: if may be missing an else clause [E0317]'
[00:44:29] error: 1 unexpected errors found, 0 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/issue-50577.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dyet-suggestion/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 12,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "12:17: 12:24: borrowed value does not live long enough [E0597]"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/lifetimes/borrowck-let-suggestion.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] 
[00:44:29] ---- [ui] ui/lint/issue-47775-nested-macro-unnecessary-parens-arg.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/lint/issue-47775-nested-macro-unnecessary-parens-arg.rs:38: unexpected warning: '38:1: 38:31: unnecessary parentheses around function argument [unused_parens]'
[00:44:29] error: /checkout/src/test/ui/lint/issue-47775-nested-macro-unnecessary-parens-arg.rs:32: expected warning not found: unnecessary parentheses around function argument
[00:44:29] 
[00:44:29] error: 1 unexpected errors found, 1 expected errors not found
[00:44:29] status: exit code: 0
[00:44:29] status: exit code: 0
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/lint/issue-47775-nested-macro-unnecessary-parens-arg.rs" "--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-47775-nested-macro-unnecessary-parens-arg/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/bur-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/liveness-return-last-stmt-semi/a" "-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/liveness-return-last-stmt-semi/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 27,
[00:44:29]         kind: Some(
[00:44:29]             Error
---
[00:44:29] thread '[ui] ui/liveness-return-last-stmt-semi.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] ---- [ui] ui/macro-context.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/macro-context.rs:26: unexpected error: '26:5: 26:10: expected expression, found reserved keyword `typeof`'
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/macro-context.rs:13: expected error not found: expected expression, found reserved keyword `typeof`
[00:44:29] error: 1 unexpected errors found, 1 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/macro-context.rs" "--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/macro-context/a" "-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/macro-context/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 26,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "26:5: 26:10: expected expression, found reserved keyword `typeof`"
[00:44:29] ]
[00:44:29] 
[00:44:29] not found errors (from test file): [
[00:44:29]     Error {
[00:44:29]     Error {
[00:44:29]         line_num: 13,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "expected expression, found reserved keyword `typeof`"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/macro-context.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] 
[00:44:29] ---- [ui] ui/macro-shadowing.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/macro-shadowing.rs:25: unexpected error: '25:1: 25:7: `macro_two` is already in scope'
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/macro-shadowing.rs:25: unexpected error: '25:1: 25:7: `foo` is already in scope'
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/macro-shadowing.rs:20: expected error not found: `foo` is already 4:29]         line_num: 28,
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         ),
[00:44:29]         msg: "28:5: 28:22: 1 positional argument in format string, but no arguments were given"
[00:44:29] ]
[00:44:29] 
[00:44:29] not found errors (from test file): [
[00:44:29]     Error {
[00:44:29]     Error {
[00:44:29]         line_num: 24,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "no arguments were given"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/macros/macro-backtrace-println.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] 
[00:44:29] ---- [ui] ui/macros/macro-backtrace-nested.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/macros/macro-backtrace-nested.rs:28: unexpected error: '28:9: 28:28: cannot find value `fake` in this scope [E0425]'
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/macros/macro-backtrace-nested.rs:29: unexpected error: '29:5: 29:29: cannot find value `fake` in this scope [E0425]'
[00:44:29] error: /checkout/src/test/ui/macros/macro-backtrace-nested.rs:15: expected error not found: cannot find
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/macros/macro-backtrace-nested.rs:15: expected error not found: cannot find
[00:44:29] 
[00:44:29] 
[00:44:29] error: 2 unexpected errors found, 2 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/macros/macro-backtrace-nested.rs" "--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/macros/macro-backtrace-nested/a" "-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/macros/macro-backtrace-nested/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 28,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "28:9: 28:28: cannot find value `fake` in this scope [E0425]"
[00:44:29]     Error {
[00:44:29]         line_num: 29,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "29:5: 29:29: cannot find value `fake` in this scope [E0425]"
[00:44:29] ]
[00:44:29] 
[00:44:29] not found errors (from test file): [
[00:44:29]     Error {
---
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/macros/macro-backtrace-nested.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] ---- [ui] ui/macros/macro-backtrace-invaneg` on ambiguous numeric type `{float}` [E0689]'
[00:44:29] error: /checkout/src/test/ui/macros/macro-backtrace-invalid-internals.rs:15: expected error not found: no method
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/macros/macro-backtrace-invalid-internals.rs:21: expected error not found: doesn't have fields
[00:44:29] 
---
[00:44:29] error: /checkout/src/test/ui/macros/macro-backtrace-invalid-internals.rs:39: expected error not found: doesn't have fields
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/macros/macro-backtrace-invalid-internals.rs:45: expected error not found: doesn't have fields
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/macros/macro-backtrace-invalid-internals.rs:51: expected error not found: can't call method `neg` on ambiguous numeric type `{float}`
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/macros/macro-backtrace-invalid-internals.rs:57: expected error not found: can't call method `neg` on ambiguous numeric type `{float}`
[00:44:29] error: 8 unexpected errors found, 8 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/macros/macro-backtrace-invalid-internals.rs" "--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/macros/macro-backtrace-invalid-internals/a" "-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/macros/macro-backtrace-invalid-internals/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 62,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "62:5: 62:25: no method named `fake` found for type `{integer}` in the current scope [E0599]"
[00:44:29]     Error {
[00:44:29]         line_num: 63,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "63:5: 63:24: `{integer}` is a primitive type and therefore doesn\'t have fields [E0610]"
[00:44:29]     Error {
[00:44:29]         line_num: 64,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "64:5: 64:29: `{integer}` is a primitive type and therefore doesn\'t have fields [E0610]"
[00:44:29]     Error {
[00:44:29]         line_num: 65,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "65:5: 65:25: can\'t call method `neg` on ambiguous numeric type `{float}` [E0689]"
[00:44:29]     Error {
[00:44:29]         line_num: 67,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]           msg: "44:5: 44:27: recursion limit reached while expanding the macro `my_recursive_macro`"
[00:44:29] ]
[00:44:29] 
[00:44:29] not found errors (from test file): [
[00:44:29]     Error {
[00:44:29]     Error {
[00:44:29]         line_num: 17,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "no rules"
[00:44:29]     Error {
[00:44:29]         line_num: 32,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "recursion limit"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/macros/trace_faulty_macros.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] 
[00:44:29] ---- [ui] ui/macros/span-covering-argument-1.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/macros/span-covering-argument-1.rs:22: unexpected error: '22:5: 22:24: cannot borrow immutable local variable `foo` as mutable [E0596]'
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/macros/span-covering-argument-1.rs:15: expected error not found: cannot borrow immutable local variable `foo` as mutable [E0596]
[00:44:29] error: 1 unexpected errors found, 1 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/macros/span-covering-argument-1.rs" "--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/macros/span-covering-argument-1/a" "-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/macros/span-covering-argument-1/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 22,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "22:5: 22:24: cannot borrow immutable local variable `foo` as mutable [E0596]"
[00:44:29] ]
[00:44:29] 
[00:44:29] not found errors (from test file): [
[00:44:29]     Error {
[00:44:29]     Error {
[00:44:29]         line_num: 15,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "cannot borrow immutable local variable `foo` as mutable [E0596]"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/macros/span-covering-argument-1.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] 
[00:44:29] ---- [ui] ui/mismatched_types/issue-26480.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/mismatched_types/issue-26480.rs:37: unexpected error: '37:5: 37:19: mismatched types [E0308]'
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/mismatched_types/issue-26480.rs:38: unexpected error: '38:5: 38:14: non-primitive cast: `{integer}` as `()` [E0605]'
[00:44:29] error: /checkout/src/test/ui/mismatched_types/issue-26480.rs:26: expected error not found: mismatched types
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/mismatched_types/issue-26480.rs:32: expected error not found: non-primitive cast
[00:44:29] 
[00:44:29] 
[00:44:29] error: 2 unexpected errors found, 2 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/mismatched_types/issue-26480.rs" "--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/mismatched_types/issue-26480/a" "-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/mismatched_types/issue-26480/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 37,
[00:44:29]         kind: Some(
[00:44:29]             Error
---
[00:44:29]         line_num: 38,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "38:5: 38:14: non-primitive cast: `{integer}` as `()` [E0605]"
[00:44:29] ]
[00:44:29] 
[00:44:29] not found errors (from test file): [
[00:44:29]     Error {
---
[00:44:29] thread '[ui] ui/mismatched_types/issue-26480.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] ---- [ui] ui/reachable/expr_again.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/reachable/expr_again.rs:18: unexpected error: '18:9: 18:24: unreachable statement [unreachable_code]'
[00:44:29] error: 1 unexpected errors found, 0 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/reachable/expr_again.rs" "--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/reachable/expr_again/a" "-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/reachable/expr_again/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 18,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "18:9: 18:24: unreachable statement [unreachable_code]"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/reachable/expr_again.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] 
[00:44:29] ---- [ui] ui/reachable/expr_block.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/reachable/expr_block.rs:35: unexpected error: '35:9: 35:25: unreachable statement [unreachable_code]'
[00:44:29] error: 1 unexpected errors found, 0 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/reachable/expr_block.rs" "--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/reachable/expr_block/a" "-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/reachable/expr_block/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 35,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "35:9: 35:25: unreachable statement [unreachable_code]"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/reachable/expr_block.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] 
[00:44:29] ---- [ui] ui/reachable/expr_if.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/reachable/expr_if.rs:37: unexpected error: '37:5: 37:27: unreachable statement [unreachable_code]'
[00:44:29] error: 1 unexpected errors found, 0 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] command: "/ch29] ---- [ui] ui/span/issue-33884.rs stdout ----
[00:44:29] 
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/span/issue-33884.rs:18: unexpected error: '18:22: 18:49: mismatched types [E0308]'
[00:44:29] 
[00:44:29] error: 1 unexpected errors found, 0 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/span/issue-33884.rs" "--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-33884/a" "-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-33884/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 18,
[00:44:29]         kind: Some(
[00:44:29]             Error
---
[00:44:29] thread '[ui] ui/span/issue-33884.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] ---- [ui] ui/span/macro-span-replacement.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/span/macro-span-replacement.rs:22: unexpected warning: '22:5: 22:18: struct is never used: `S` [dead_code]'
[00:44:29] error: /checkout/src/test/ui/span/macro-span-replacement.rs:17: expected warning not found: struct is never used
[00:44:29] 
[00:44:29] 
[cted error: '21:5: 21:29: expected one of `)` or `,`, found `(`'
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/tuple-struct-fields/test2.rs:15: expected error not found: expected one of `)` or `,`, found `(`
[00:44:29] error: 1 unexpected errors found, 1 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] status: exit code: 101
[00:44:29] make: *** [check] Error 1
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/tuple-struct-fields/test2.rs" "--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/tuple-struct-fields/test2/a" "-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/tuple-struct-fields/test2/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 21,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "21:5: 21:29: expected one of `)` or `,`, found `(`"
[00:44:29] ]
[00:44:29] 
[00:44:29] not found errors (from test file): [
[00:44:29]     Error {
[00:44:29]     Error {
[00:44:29]         line_num: 15,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "expected one of `)` or `,`, found `(`"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/tuple-struct-fields/test2.rs' panicked at 'explicit panic', tools/compiletest/socal_or_vec_in_tuples.rs stdout ----
[00:44:29] 
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/type-check/cannot_infer_local_or_vec_in_tuples.rs:12: unexpected error: '12:18: 12:24: type annotations needed [E0282]'
[00:44:29] error: 1 unexpected errors found, 0 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/type-check/cannot_infer_local_or_vec_in_tuples.rs" "--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/type-check/cannot_infer_local_or_vec_in_tuples/a" "-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/type-check/cannot_infer_local_or_vec_in_tuples/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 12,
[00:44:29]         kind: Some(
[00:44:29]             Error
---
[00:44:29] thread '[ui] ui/type-check/cannot_infer_local_or_vec_in_tuples.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
[00:44:29] ---- [ui] ui/union/union-derive-eq.rs stdout ----
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/union/union-derive-eq.rs:23: unexpected error: '23:10: 23:12: the trait bound `PartialEqNotEq: std::cmp::Eq` is not satisfied [E0277]'
[00:44:29] 
[00:44:29] error: /checkout/src/test/ui/union/union-derive-eq.rs:25: expected error not found: the trait bound `PartialEqNotEq: std::cmp::Eq` is not satisfied
[00:44:29] error: 1 unexpected errors found, 1 expected errors not found
[00:44:29] status: exit code: 101
[00:44:29] status: exit code: 101
[00:44:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/union/union-derive-eq.rs" "--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/union/union-derive-eq/a" "-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/union/union-derive-eq/auxiliary" "-A" "unused"
[00:44:29]     Error {
[00:44:29]         line_num: 23,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "23:10: 23:12: the trait bound `PartialEqNotEq: std::cmp::Eq` is not satisfied [E0277]"
[00:44:29] ]
[00:44:29] 
[00:44:29] not found errors (from test file): [
[00:44:29]     Error {
[00:44:29]     Error {
[00:44:29]         line_num: 25,
[00:44:29]         kind: Some(
[00:44:29]             Error
[00:44:29]         ),
[00:44:29]         msg: "the trait bound `PartialEqNotEq: std::cmp::Eq` is not satisfied"
[00:44:29] ]
[00:44:29] 
[00:44:29] thread '[ui] ui/union/union-derive-eq.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:44:29] 
---
[00:44:29]     [ui] ui/issue-32950.rs
[00:44:29]     [ui] ui/issue-42954.rs
[00:44:29]     [ui] ui/issue-50577.rs
[00:44:29]     [ui] ui/lifetimes/borrowck-let-suggestion.rs
[00:44:29]     [ui] ui/lint/issue-47775-nested-macro-ully: "/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:29] 
[00:44:29] 
[00:44:29] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[00:44:29] Build completed unsuccessfully in 0:02:00
[00:44:29] Build completed unsuccessfully in 0:02:00
[00:44:29] Makefile:58: recipe for target 'check' failed

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0c248412
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

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)

@fpoli
Copy link
Contributor Author

fpoli commented Jul 9, 2018

As in the tagged issue, the question here is whether the current implementation ignores the callsite of macro expansions on purpose or not.

From the tests it looks that yes, some tests expect the error to be reported inside the macro definition. If this works as intended I can close the PR and that's all.

However, if the test calls a macro from a library and an error arises from the macro expansion, then there is no way to write the //~ bla comment in the test to expect the error. In some cases it can be confusing.

That said, this pull request would still require some fixes because on some tests it doesn't match the expected error. Maybe span expansions are not used just for macros?

@TimNN
Copy link
Contributor

TimNN commented Jul 17, 2018

Ping from triage, @alexcrichton: This PR requires your review.

@alexcrichton
Copy link
Member

Oh dear sorry for the delay!

I don't personally know much about spans/diagnostics, but this does look like we may not want to change it due to the number of failing tests? For UI tests as have the full output anyway to match against, so this is largely an issue for compile-fail tests which we're migrating over time to UI tests I think.

@fpoli do you still want to land this PR as-is after fixing up some tests? Or were you thinking of taking an alternate strategy?

@fpoli
Copy link
Contributor Author

fpoli commented Jul 18, 2018

I think that the number of failing tests is not a problem: usually the fix requires to move the //~ comment to a different line and it's easy. If it's fine I can start fixing the tests.

@petrochenkov
Copy link
Contributor

For tests in which new //~ ERROR annotations are now required (errors from macros from other crates) this is an important fix for a long-standing issue, but for other tests it's a regression because //~ ERROR annotations are now placed on different lines than errors actually appear in the output (this can be seen in UI tests).

@petrochenkov
Copy link
Contributor

Also see #52531 which is somewhat relevant.

@petrochenkov
Copy link
Contributor

For macros we should ideally go up the macro call stack until we are in the current file, but then stop.

@fpoli
Copy link
Contributor Author

fpoli commented Jul 19, 2018

For macros we should ideally go up the macro call stack until we are in the current file, but then stop.

That's a great suggestion, quite easy to implement I think. I'll try

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-5.0 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.
travis_time:start:test_ui
Check compiletest suite=ui mode=ui (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[00:44:24] 
[00:44:24] running 2118 tests
[00:44:28] .......................................................................................F..........i.
[00:44:32] ................................................................i..F................................
[00:44:35] .............................F...F..................................................................
[00:44:39] ....................................................................................................
[00:44:41] ....................................................................................................
[00:44:41] ....................................................................................................
[00:44:44] ............................F.....................................FF................................
[00:44:48] ........................................................................................F...........
[00:44:50] ......................................Fi............................................................
[00:44:55] ....................................................................................................
[00:44:55] ....................................................................................................
[00:44:58] .............................................................F......................................
[00:45:01] ....................................................................................................
[00:45:04] .....................................................................................F..............
[00:45:07] ...................................................................................................F
[00:45:14] ..................................................................................i.................
[00:45:14] ..................................................................................i.................
[00:45:17] ........................................F.F.......F.................................................
[00:45:21] ....................................................................................................
[00:45:24] .....................................................F..............................................
[00:45:30] failures:
[00:45:30] 
[00:45:30] ---- [ui] ui/codemap_tests/bad-format-args.rs stdout ----
[00:45:30] diff of stderr:
[00:45:30] diff of stderr:
[00:45:30] 
[00:45:30] 9 error: expected token: `,`
[00:45:30] 10   --> $DIR/bad-format-args.rs:13:5
[00:45:30] 11    |
[00:45:30] - LL |     format!("" 1);
[00:45:30] + LL |     format!("" 1); // ERROR expected token: `,`
[00:45:30] 14    |
[00:45:30] 15    = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
[00:45:30] 
[00:45:30] 17 error: expected token: `,`
[00:45:30] 17 error: expected token: `,`
[00:45:30] 18   --> $DIR/bad-format-args.rs:14:5
[00:45:30] 19    |
[00:45:30] - LL |     format!("", 1 1);
[00:45:30] + LL |     format!("", 1 1); //~ ERROR expected token: `,`
[00:45:30] 22    |
[00:45:30] 23    = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
[00:45:30] 
[00:45:30] 
[00:45:30] 
[00:45:30] The actual stderr differed from the expected stderr.
[00:45:30] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/codemap_tests/bad-format-args/bad-format-args.stderr
[00:45:30] To update references, rerun the tests and pass the `--bless` flag
[00:45:30] To only update this specific test, also pass `--test-args codem"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/checkout/src/test/ui/codemap_tests/bad-format-args.rs","byte_start":483,"byte_end":493,"line_start":12,"line_end":12,"column_start":5,"column_end":15,"is_primary":false,"text":[{"text":"    format!();","highlight_start":5,"highlight_end":15}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"format!","def_site_span":{"file_name":"<format macros>","byte_start":0,"byte_end":90,"line_start":1,"line_end":2,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"( $ ( $ arg : tt ) * ) => (","highlight_start":1,"highlight_end":28},{"text":"$ crate :: fmt :: format ( format_args ! ( $ ( $ arg ) * ) ) )","highlight_start":1,"highlight_end":63}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"format_args!","def_site_span":null}}],"children":[],"rendered":"error: requires at least a format string argument\n  --> /checkout/src/test/ui/codemap_tests/bad-format-args.rs:12:5\n   |\nLL |     format!();\n   |     ^^^^^^^^^^\n   |\n   = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)\n\n"}
[00:45:30] {"message":"expected token: `,`","code":null,"level":"error","spans":[{"file_name":"<format macros>","byte_start":55,"byte_end":86,"line_start":2,"line_end":2,"column_start":28,"column_end":59,"is_primary":true,"text":[{"text":"$ crate :: fmt :: format ( format_args ! ( $ ( $ arg ) * ) ) )","highlight_start":28,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"<format macros>","byte_start":55,"byte_end":86,"line_start":2,"line_end":2,"column_start":28,"column_end":59,"is_primary":false,"text":[{"text":"$ crate :: fmt :: format ( format_args ! ( $ ( $ arg ) * ) ) )","highlight_start":28,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/checkout/src/test/ui/codemap_tests/bad-format-args.rs","byte_start":498,"byte_end":512,"line_start":13,"line_end":13,"column_start":5,"column_end":19,"is_primary":false,"text":[{"text":"    format!(\"\" 1); // ERROR expected token: `,`","highlight_start":5,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"format!","def_site_span":{"file_name":"<format macros>","byte_start":0,"byte_end":90,"line_start":1,"line_end":2,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"( $ ( $ arg : tt ) * ) => (","highlight_start":1,"highlight_end":28},{"text":"$ crate :: fmt :: format ( format_args ! ( $ ( $ arg ) * ) ) )","highlight_start":1,"highlight_end":63}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"format_args!","def_site_span":null}}],"children":[],"rendered":"error: expected token: `,`\n  --> /checkout/src/test/ui/codemap_tests/bad-format-args.rs:13:5\n   |\nLL |     format!(\"\" 1); // ERROR expected token: `,`\n   |     ^^^^^^^^^^^^^^\n   |\n   = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)\n\n"}
[00:45:30] {"message":"expected token: `,`","code":null,"level":"error","spans":[{"file_name":"<format macros>","byte_start":55,"byte_end":86,"line_start":2,"line_end":2,"column_start":28,"column_end":59,"is_primary":true,"text":[{"text":"$ crate :: fmt :: format ( format_args ! ( $ ( $ arg ) * ) ) )","highlight_start":28,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"<format macros>","byte_start":55,"byte_end":86,"line_start":2,"line_end":2,"column_start":28,"column_end":59,"is_primary":false,"text":[{"text":"$ crate :: fmt :: format ( format_args ! ( $ ( $ arg ) * ) ) )","highlight_start":28,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/checkout/src/test/ui/codemap_tests/bad-format-args.rs","byte_start":546,"byte_end":563,"line_start":14,"line_end":14,"column_start":5,"column_end":22,"is_primary":false,"text":[{"text":"    format!(\"\", 1 1); //~ ERROR expected token: `,`","highlight_start":5,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"format!","def_site_span":{"file_name":"<format macros>","byte_start":0,"byte_end":90,"line_start":1,"line_end":2,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"( $ ( $ arg : tt ) * ) => (","highlight_start":1,"highlight_end":28},{"text":"$ crate :: fmt :: format ( format_args ! ( $ ( $ arg ) * ) ) )","highlight_start":1,"highlight_end":63}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"format_args!","def_site_span":null}}],"children":[],"rendered":"error: expected token: `,`\n  --> /checkout/src/test/ui/codemap_tests/bad-format-args.rs:14:5\n   |\nLL |     format!(\"\", 1 1); //~ ERROR expected token: `,`\n   |     ^^^^^^^^^^^^^^^^^\n   |\n   = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)\n\n"}
[00:45:30] {"message":"aborting due to 3 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 3 previous errors\n\n"}
[00:45:30] ------------------------------------------
[00:45:30] 
[00:45:30] thread '[ui] ui/codemap_tests/bad-format-args.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3139:9
[00:45:30] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:45:30] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:45:30] 
[00:45:30] ---- [ui] ui/cross-crate-macro-backtrace/main.rs stdout ----
[00:45:30] diff of stderr:
[00:45:30] 
[00:45:30] 1 error: 1 positional argument in format string, but no arguments were given
[00:45:30] +   --> $DIR/main.rs:16:5
[00:45:30] 3    |
[00:45:30] 3    |
[00:45:30] 4 LL |     myprintln!("{}");
[00:45:30] 
[00:45:30] 
[00:45:30] The actual stderr differed from the expected stderr.
[00:45:30] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/cross-crate-macro-backtrace/main/main.stderr
[00:45:30] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/cross-crate-macro-backtrace/main/main.stderr
[00:45:30] To update references, rerun the tests and n_start":18,"column_end":23,"is_primary":true,"text":[{"text":"(  ) => ( pub fn async (  ) {  } )","highlight_start":18,"highlight_end":23}],"label":"expected identifier, found reserved keyword","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/checkout/src/test/ui/edition-keywords-2015-2018-expansion.rs","byte_start":622,"byte_end":640,"line_start":20,"line_end":20,"column_start":5,"column_end":23,"is_primary":false,"text":[{"text":"    produces_async! {} //~ ERROR expected identifier, found reserved keyword","highlight_start":5,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"produces_async!","def_site_span":{"file_name":"<produces_async macros>","byte_start":0,"byte_end":34,"line_start":1,"line_end":1,"column_start":1,"column_end":35,"is_primary":false,"text":[{"text":"(  ) => ( pub fn async (  ) {  } )","highlight_start":1,"highlight_end":35}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"error: expected identifier, found reserved keyword `async`\n  --> /checkout/src/test/ui/edition-keywords-2015-2018-expansion.rs:20:5\n   |\nLL |     produces_async! {} //~ ERROR expected identifier, found reserved keyword\n   |     ^^^^^^^^^^^^^^^^^^ expected identifier, found reserved keyword\n   |\n   = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)\n\n"}
[00:45:30] {"message":"aborting due to previous error","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to previous error\n\n"}
[00:45:30] ------------------------------------------
[00:45:30] 
[00:45:30] thread '[ui] ui/edition-keywords-2015-2018-expansion.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3139:9
[00:45:30] 
[00:45:30] 
[00:45:30] ---- [ui] ui/edition-keywords-2018-2018-expansion.rs stdout ----
[00:45:30] diff of stderr:
[00:45:30] 
[00:45:30] 1 error: expected identifier, found reserved keyword `async`
[00:45:30] 2   --> $DIR/edition-keywords-2018-2018-expansion.rs:20:5
[00:45:30] 3    |
[00:45:30] - LL |     produces_async! {} // ERROR expected identifier, found reserved keyword `async`
[00:45:30] + LL |     produces_async! {} //~ ERROR expected identifier, found reserved keyword `async`
[00:45:30] 5    |     ^^^^^^^^^^^^^^^^^^ expected identifier, found reserved keyword
[00:45:30] 7    = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
[00:45:30] 
[00:45:30] 
[00:45:30] The actual stderr differed from the expected stderr.
[00:45:30] The actual stderr differed from the expected stderr.
[00:45:30] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/edition-keywords-2018-2018-expansion/edition-keywords-2018-2018-expansion.stderr
[00:45:30] To update references, rerun the tests and pass the `--bless` flag
[00:45:30] To only update this specific test, also pass `--test-args edition-keywords-2018-2018-expansion.rs`
[00:45:30] error: 1 errors occurred comparing output.
[00:45:30] status: exit code: 101
[00:45:30] status: exit code: 101
[00:45:30] command: "/checkout/obj/build/tion_applicability":null,"expansion":null},"macro_decl_name":"produces_async!","def_site_span":{"file_name":"<produces_async macros>","byte_start":0,"byte_end":34,"line_start":1,"line_end":1,"column_start":1,"column_end":35,"is_primary":false,"text":[{"text":"(  ) => ( pub fn async (  ) {  } )","highlight_start":1,"highlight_end":35}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"error: expected identifier, found reserved keyword `async`\n  --> /checkout/src/test/ui/edition-keywords-2018-2018-expansion.rs:20:5\n   |\nLL |     produces_async! {} //~ ERROR expected identifier, found reserved keyword `async`\n   |     ^^^^^^^^^^^^^^^^^^ expected identifier, found reserved keyword\n   |\n   = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)\n\n"}
[00:45:30] {"message":"aborting due to previous error","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to previous error\n\n"}
[00:45:30] ------------------------------------------
[00:45:30] 
[00:45:30] thread '[ui] ui/edition-keywords-2018-2018-expansion.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3139:9
[00:45:30] 
[00:45:30] 
[00:45:30] ---- [ui] ui/fmt/format-string-error.rs stdout ----
[00:45:30] diff of stderr:
[00:45:30] 
[00:45:30] 8    = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
[00:45:30] 9 
[00:45:30] 10 error: invalid format string: unmatched `}` found
[00:45:30] +   --> $DIR/format-string-error.rs:15:5
[00:45:30] 12    |
[00:45:30] 12    |
[00:45:30] 13 LL |     println!("}");
[00:45:30] 14    |     ^^^^^^^^^^^^^^ unmatched `}` in format string
[00:45:30] 17    = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
[00:45:30] 18 
[00:45:30] 18 
[00:45:30] 19 error: invalid format string: invalid argument name `_foo`
[00:45:30] +   --> $DIR/format-string-error.rs:17:23
[00:45:30] 21    |
[00:45:30] 21    |
[00:45:30] 22 LL |     let _ = format!("{_foo}", _foo = 6usize);
[00:45:30] 23    |                       ^^^^ invalid argument name in format string
[00:45:30] 
[00:45:30] 25    = note: argument names cannot start with an underscore
[00:45:30] 27 error: invalid format string: invalid argument name `_`
[00:45:30] -   --> $DIR/format-string-error.rs:17:23
[00:45:30] +   --> $DIR/format-string-error.rs:19:23
[00:45:30] 29    |
[00:45:30] 29    |
[00:45:30] 30 LL |     let _ = format!("{_}", _ = 6usize);
[00:45:30] 31    |                       ^ invalid argument name in format string
[00:45:30] 
[00:45:30] 33    = note: argument names cannot start with an underscore
[00:45:30] 34 
[00:45:30] 35 error: invalid format string: expected `'}'` but string was terminated
[00:45:30] +   --> $DIR/format-string-error.rs:21:23
[00:45:30] 37    |
[00:45:30] 37    |
[00:45:30] 38 LL |     let _ = format!("{");
[00:45:30] 39    |                       ^ expected `'}'` in format string
[00:45:30] 
[00:45:30] 41    = note: if you intended to print `{`, you can escape it using `{{`
[00:45:30] 42 
[00:45:30] 43 error: invalid format string: unmatched `}` found
[00:45:30] +   --> $DIR/format-string-error.rs:23:22
[00:45:30] 45    |
[00:45:30] 45    |
[00:45:30] 46 LL |     let _ = format!("}");
[00:45:30] 47    |                      ^ unmatched `}` in format string
[00:45:30] 
[00:45:30] 49    = note: if you intended to print `}`, you can escape it using `}}`
[00:45:30] 50 
[00:45:30] 51 error: invalid format string: expected `'}'`, found `'/'`
[00:45:30] +   --> $DIR/format-string-error.rs:25:23
[00:45:30] 53    |
[00:45:30] 53    |
[00:45:30] 54 LL |     let _ = format!("{/}");
[00:45:30] 55    |                       ^ expected `}` in format string
[00:45:30] 
[00:45:30] The actual stderr differed from the expected stderr.
[00:45:30] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/fmt/format-string-error/format-string-error.stderr
[00:45:30] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/fmt/format-string-error/format-string-error.stderr
[00:45:30] To update references, rerun the tests and pass the `--bless` flag
[00:45:30] To only update this specific test, also pass `--test-args fmt/format-string-error.rs`
[00:45:30] error: 1 errors occurred comparing output.
[00:45:30] status: exit code: 101
[00:45:30] status: exit code: 101
[00:45:30] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/fmt/format-string-error.rs" "--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/fmt/format-string-error/a" "-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/fmt/format-string-error/auxiliary" "-A" "unused"
[00:45:30] ------------------------------------------
[00:45:30] 
[00:45:30] ------------------------------------------
[00:45:30] stderr:
[00:45:30] stderr:
[00:45:30] ------------------------------------------
[00:45:30] {"message":"invalid format string: expected `'}'` but string was terminated","code":null,"level":"error","spans":[{"file_name":"<println macros>","byte_start":66,"byte_end":66,"line_start":2,"line_end":2,"column_start":14,"column_end":14,"is_primary":true,"text":[{"text":"print ! ( concat ! ( $ fmt , \"\\n\" ) ) ) ; ( $ fmt : expr , $ ( $ arg : tt ) *","highlight_start":14,"highlight_end":14}],"label":"expected `'}'` in format string","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"<print macros>","byte_start":54,"byte_end":85,"line_start":2,"line_end":2,"column_start":27,"column_end":58,"is_primary":false,"text":[{"text":"$ crate :: io :: _print ( format_args ! ( $ ( $ arg ) * ) ) ) ;","highlight_start":27,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"<println macros>","byte_start":53,"byte_end":90,"line_start":2,"line_end":2,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"print ! ( concat ! ( $ fmt , \"\\n\" ) ) ) ; ( $ fmt : expr , $ ( $ arg : tt ) *","highlight_start":1,"hig"message":"if you intended to print `{`, you can escape it using `{{`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error: invalid format string: expected `'}'` but string was terminated\n  --> /checkout/src/test/ui/fmt/format-string-error.rs:12:5\n   |\nLL |     println!(\"{\");\n   |     ^^^^^^^^^^^^^^ expected `'}'` in format string\n   |\n   = note: if you intended to print `{`, you can escape it using `{{`\n   = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)\n\n"}
[00:45:30] {"message":"invalid format string: unmatched `}` found","code":null,"level":"error","spans":[{"file_name":"<println macros>","byte_start":64,"byte_end":64,"line_start":2,"line_end":2,"column_start":12,"column_end":12,"is_primary":true,"text":[{"text":"print ! ( concat ! ( $ fmt , \"\\n\" ) ) ) ; ( $ fmt : expr , $ ( $ arg : tt ) *","highlight_start":12,"highlight_end":12}],"label":"unmatched `}` in format string","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"<print macros>","byte_start":54,"byte_end":85,"line_start":2,"line_end":2,"column_start":27,"column_end":58,"is_primary":false,"text":[{"text":"$ crate :: io :: _print ( format_args ! ( $ ( $ arg ) * ) ) ) ;","highlight_start":27,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"<println macros>","byte_start":53,"byte_end":90,"line_start":2,"line_end":2,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"print ! ( concat ! ( $ fmt , \"\\n\" ) ) ) ; ( $ fmt : expr , $ ( $ arg : tt ) *","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/checkout/src/test/ui/fmt/format-string-error.rs","byte_start":605,"byte_end":619,"line_start":15,"line_end":15,"column_start":5,"column_end":19,"is_primary":false,"text":[{"text":"    println!(\"}\");","highlight_start":5,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"println!","def_site_span":{"file_name":"<println macros>","byte_start":0,"byte_end":195,"line_start":1,"line_end":3,"column_start":1,"column_end":65,"is_primary":false,"text":[{"text":"(  ) => ( print ! ( \"\\n\" ) ) ; ( $ fmt : expr ) => (","highlight_start":1,"highlight_end":53},{"text":"print ! ( concat ! ( $ fmt , \"\\n\" ) ) ) ; ( $ fmt : expr , $ ( $ arg : tt ) *","highlight_start":1,"highlight_end":78},{"text":") => ( print ! ( concat ! ( $ fmt , \"\\n\" ) , $ ( $ arg ) * ) ) ;","highlight_start":1,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"print!","def_site_span":{"file_name":"<print macros>","byte_start":0,"byte_end":91,"line_start":1,"line_end":2,"column_start":1,"column_end":64,"is_primary":false,"text":[{"text":"( $ ( $ arg : tt ) * ) => (","highlight_start":1,"highlight_end":28},{"text":"$ crate :: io :: _print ( format_args ! ( $ ( $ arg ) * ) ) ) ;","highlight_start":1,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"format_args!","def_site_span":null}}],"children":[{"message":"if you intended to print `}`, you can escape it using `}}`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error: invalid format string: unmatched `}` found\n  --> /checkout/src/test/ui/fmt/format-string-error.rs:15:5\n   |\nLL |     println!(\"}\");\n   |     ^^^^^^^^^^^^^^ unmatched `}` in format string\n   |\n   = note: if you intended to print `}`, you can escape it using `}}`\n   = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)\n\n"}
[00:45:30] thread 'main' panicked at 'Some tests failed', tools/compiletest/src/main.rs:498:22
[00:45:30] {"message":"invalid format string: invalid argument name `_foo`","code":null,"level":"error","spans":[{"file_name":"/checkout/src/test/ui/fmt/format-string-error.rs","byte_start":700,"byte_end":704,"line_start":17,"line_end":17,"column_start":23,"column_end":27,"is_primary":true,"text":[{"text":"    let _ = format!(\"{_foo}\", _foo = 6usize);","highlight_start":23,"highlight_end":27}],"label":"invalid argument name in format string","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"<format macros>","byte_start":55,"byte_end":86,"line_start":2,"line_end":2,"column_start":28,"column_end":59,"is_primary":false,"text":[{"text":"$ crate :: fmt :: format ( format_args ! ( $ ( $ arg ) * ) ) )","highlight_start":28,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/checkout/src/test/ui/fmt/format-string-error.rs","byte_start":690,"byte_end":722,"line_start":17,"line_end":17,"column_start":13,"column_end":45,"is_primary":false,"text":[{"text":"    let _ = format!(\"{_foo}\", _foo = 6usize);","highlight_start":13,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"format!","def_site_span":{"file_name":"<format macros>","byte_start":0,"byte_end":90,"line_start":1,"line_end":2,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"( $ ( $ arg : tt ) * ) => (","highlight_start":1,"highlight_end":28},{"text":"$ crate :: fmt :: format ( format_args ! ( $ ( $ arg ) * ) ) )","highlight_start":1,"highlight_end":63}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"format_args!","def_site_span":null}}],"children":[{"message":"argument names cannot start with an underscore","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error: invalid format string: invalid argument name `_foo`\n  --> /checkout/src/test/ui/fmt/format-string-error.rs:17:23\n   |\nLL |     let _ = format!(\"{_foo}\", _foo = 6usize);\n   |                       ^^^^ invalid argument name in format string\n   |\n   = note: argument names cannot start with an underscore\n\n"}
[00:45:30] {"message":"invalid format string: invalid argument name `_`","code":null,"level":"error","spans":[{"file_name":"/checkout/src/test/ui/fmt/format-string-error.rs","byte_start":813,"byte_end":814,"line_start":19,"line_end":19,"column_start":23,"columnormat-string-error.rs","byte_start":1106,"byte_end":1106,"line_start":25,"line_end":25,"column_start":23,"column_end":23,"is_primary":true,"text":[{"text":"    let _ = format!(\"{\\\\}\");","highlight_start":23,"highlight_end":23}],"label":"expected `}` in format string","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"<format macros>","byte_start":55,"byte_end":86,"line_start":2,"line_end":2,"column_start":28,"column_end":59,"is_primary":false,"text":[{"text":"$ crate :: fmt :: format ( format_args ! ( $ ( $ arg ) * ) ) )","highlight_start":28,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/checkout/src/test/ui/fmt/format-string-error.rs","byte_start":1096,"byte_end":1111,"line_start":25,"line_end":25,"column_start":13,"column_end":28,"is_primary":false,"text":[{"text":"    let _ = format!(\"{\\\\}\");","highlight_start":13,"highlight_end":28}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"format!","def_site_span":{"file_name":"<format macros>","byte_start":0,"byte_end":90,"line_start":1,"line_end":2,"column_start":1,"column_end":63,"is_primary":false,"text":[{"text":"( $ ( $ arg : tt ) * ) => (","highlight_start":1,"highlight_end":28},{"text":"$ crate :: fmt :: format ( format_args ! ( $ ( $ arg ) * ) ) )","highlight_start":1,"highlight_end":63}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"format_args!","def_site_span":null}}],"children":[],"rendered":"error: invalid format string: expected `'}'`, found `'\\\\'`\n  --> /checkout/src/test/ui/fmt/format-string-error.rs:25:23\n   |\nLL |     let _ = format!(\"{\\\\}\");\n   |                       ^ expected `}` in format string\n\n"}
[00:45:30] {"message":"aborting due to 7 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 7 previous errors\n\n"}
[00:45:30] ------------------------------------------
[00:45:30] 
[00:45:30] thread '[ui] ui/fmt/format-string-error.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3139:9
[00:45:30] 
[00:45:30] 
[00:45:30] ---- [ui] ui/hygiene/local_inner_macros_disabled.rs stdout ----
[00:45:30] diff of stderr:
[00:45:30] 
[00:45:30] 1 error: cannot find macro `helper2!` in this scope
[00:45:30] +   --> $DIR/local_inner_macros_disabled.rs:18:1
[00:45:30] 3    |
[00:45:30] 3    |
[00:45:30] - LL | public_macro!();
[00:45:30] + LL | public_macro!(); //~ ERROR cannot find macro `helper2!` in this scope
[00:45:30] 6    |
[00:45:30] 7    = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
[00:45:30] 
[00:45:30] 
[00:45:30] 
[00:45:30] The actual stderr differed from the expected stderr.
[00:45:30] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/hygiene/local_inner_macros_disabled/local_inner_macros_disabled.stderr
[00:45:30] To update references, rerun the tests and pass the `--bless` flag
[00:45:30] To only update this specific test, also p!` in this scope","highlight_start":1,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"public_macro!","def_site_span":{"file_name":"<public_macro macros>","byte_start":0,"byte_end":28,"line_start":1,"line_end":1,"column_start":1,"column_end":29,"is_primary":false,"text":[{"text":"(  ) => ( helper2 ! (  ) ; )","highlight_start":1,"highlight_end":29}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"error: cannot find macro `helper2!` in this scope\n  --> /checkout/src/test/ui/hygiene/local_inner_macros_disabled.rs:18:1\n   |\nLL | public_macro!(); //~ ERROR cannot find macro `helper2!` in this scope\n   | ^^^^^^^^^^^^^^^^\n   |\n   = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)\n\n"}
[00:45:30] {"message":"aborting due to previous error","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to previous error\n\n"}
[00:45:30] ------------------------------------------
[00:45:30] 
[00:45:30] thread '[ui] ui/hygiene/local_inner_macros_disabled.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3139:9
[00:45:30] 
[00:45:30] 
[00:45:30] ---- [ui] ui/hygiene/intercrate.rs stdout ----
[00:45:30] diff of stderr:
[00:45:30] 
[00:45:30] 1 error: type `fn() -> u32 {intercrate::foo::bar::f}` is private
[00:45:30] +   --> $DIR/intercrate.rs:20:16
[00:45:30] 3    |
[00:45:30] 3    |
[00:45:30] 4 LL |     assert_eq!(intercrate::foo::m!(), 1);
[00:45:30] 
[00:45:30] 
[00:45:30] The actual stderr differed from the expected stderr.
[00:45:30] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/hygiene/intercrate/intercrate.stderr
[00:45:30] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/hygiene/intercrate/intercrate.stderr
[00:45:30] To update references, rerun the tests and pass the `--bless` flag
[00:45:30] To only update this specific test, also pass `--test-args hygiene/intercrate.rs`
[00:45:30] error: 1 errors occurred comparing output.
[00:45:30] status: exit code: 101
[00:45:30] status: exit code: 101
[00:45:30] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/hygiene/intercrate.rs" "--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/hygiene/intercrate/a" "-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/hygiene/intercrate/auxiliary" "-A" "unused"
[00:45:30] ------------------------------------------
[00:45:30] 
[00:45:30] ------------------------------------------
[00:45:30] stderr:
[00:45:30] stderr:
[00:45:30] ------------------------------------------
[00:45:30] {"message":"type `fn() -> u32 {intercrate::foo::bar::f}` is private","code":null,"level":"error","spans":[{"file_name":"<m macros>","byte_start":10,"byte_end":11,"line_start":1,"line_end":1,"column_start":11,"column_end":12,"is_primary":true,"text":[{"text":"(  ) => { f (  ) ; }","highlight_start":11,"highlight_enget=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issue-16966/a" "-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/issue-16966/auxiliary" "-A" "unused"
[00:45:30]     Error {
[00:45:30]         line_num: 13,
[00:45:30]         kind: Some(
[00:45:30]             Error
---
[00:45:30] thread '[ui] ui/issue-16966.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1283:13
[00:45:30] 
[00:45:30] ---- [ui] ui/issue-32829.rs stdout ----
[00:45:30] 
[00:45:30] error: /checkout/src/test/ui/issue-32829.rs:13: unexpected error: '13:22: 13:36: calls in statics are limited to constant functions, tuple structs and tuple variants [E0015]'
[00:45:30] error: 1 unexpected errors found, 0 expected errors not found
[00:45:30] status: exit code: 101
[00:45:30] status: exit code: 101
[00:45:30] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/issue-32829.rs" "--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/issue-32829/a" "-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-gnu6_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/lifetimes/borrowck-let-suggestion.rs" "--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/lifetimes/borrowck-let-suggestion/a" "-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/lifetimes/borrowck-let-suggestion/auxiliary" "-A" "unused"
[00:45:30] ------------------------------------------
[00:45:30] 
[00:45:30] ------------------------------------------
[00:45:30] stderr:
[00:45:30] stderr:
[00:45:30] ------------------------------------------
[00:45:30] {"message":"borrowed value does not live long enough","code":{"code":"E0597","explanation":"\nThis error occurs because a borrow was made inside a variable which has a\ngreater lifetime than the borrowed one.\n\nExample of erroneous code:\n\n```compile_fail,E0597\nstruct Foo<'a> {\n    x: Option<&'a u32>,\n}\n\nlet mut x = Foo { x: None };\nlet y = 0;\nx.x = Some(&y); // error: `y` does not live long enough\n```\n\nIn here, `x` is created before `y` and therefore has a greater lifetime. Always\nkeep in mind that values in a scope are dropped in the opposite order they are\ncreated. So to fix the previous example, just make the `y` lifetime greater than\nthe `x`'s one:\n\n```\nstruct Foo<'a> {\n    x: Option<&'a u32>,\n}\n\nlet y = 0;\nlet mut x = Foo { x: None };\nx.x = Some(&y);\n```\n"},"level":"error","spans":[{"file_name":"<vec macros>","byte_start":115,"byte_end":162,"line_start":3,"line_end":3,"column_start":1,"column_end":48,"is_primary":true,"text":[{"text":"< [ _ ] > :: into_vec ( box [ $ ( $ x ) , * ] ) ) ; ( $ ( $ x : expr , ) * )","highlight_start":1,"highlight_end":48}],"label":"temporary value does not live long enough","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/checkout/src/test/ui/lifetimes/borrowck-let-suggestion.rs","byte_start":492,"byte_end":499,"line_start":12,"line_end":12,"column_start":17,"column_end":24,"is_primary":false,"text":[{"text":"    let mut x = vec![1].iter();","highlight_start":17,"highlight_end":24}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"vec!","def_site_span":{"file_name":"<vec macros>","byte_start":0,"byte_end":222,"line_start":1,"line_end":4,"column_start":1,"column_end":31,"is_primary":false,"text":[{"text":"( $ elem : expr ; $ n : expr ) => (","highlight_start":1,"highlight_end":36},{"text":"$ crate :: vec :: from_elem ( $ elem , $ n ) ) ; ( $ ( $ x : expr ) , * ) => (","highlight_start":1,"highlight_end":79},{"text":"< [ _ ] > :: into_vec ( box [ $ ( $ x ) , * ] ) ) ; ( $ ( $ x : expr , ) * )","highlight_start":1,"highlight_end":77},{"text":"=> ( vec ! [ $ ( $ x ) , * ] )","highlight_start":1,"highlight_end":31}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"/checkout/src/test/ui/lifetimes/borrowck-let-suggestion.rs","byte_start":506,"byte_end":507,"line_start":12,"line_end":12,"column_start":31,"column_end":32,"is_primary":false,"text":[{"text":"    let mut x = vec![1].iter();","highlight_start":31,"highlight_end":32}],"label":"temporary value dropped here while still borrowed","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/lifetimes/borrowck-let-suggestion.rs","byte_start":581,"byte_end":582,"line_start":15,"line_end":15,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"}","highlight_start":1,"highlight_end":2}],"label":"temporary value needs to live until here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider using a `let` binding to increase its lifetime","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0597]: borrowed value does not live long enough\n  --> /checkout/src/test/ui/lifetimes/borrowck-let-suggestion.rs:12:17\n   |\nLL |     let mut x = vec![1].iter();\n   |                 ^^^^^^^       - temporary value dropped here while still borrowed\n   |                 |\n   |                 temporary value does not live long enough\n...\nLL | }\n   | - temporary value needs to live until here\n   |\n   = note: consider using a `let` binding to increase its lifetime\n   = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)\n\n"}
[00:45:30] {"message":"aborting due to previous error","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to previous error\n\n"}
[00:45:30] {"message":"For more information about this error, try `rustc --explain E0597`.","code":null,"level":"","spans":[],chable/expr_loop.rs`
[00:45:30] error: 1 errors occurred comparing output.
[00:45:30] status: exit code: 101
[00:45:30] status: exit code: 101
[00:45:30] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/reachable/expr_loop.rs" "--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/reachable/expr_loop/a" "-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/reachable/expr_loop/auxiliary" "-A" "unused"
[00:45:30] ------------------------------------------
[00:45:30] 
[00:45:30] ------------------------------------------
[00:45:30] stderr:
[00:45:30] stderr:
[00:45:30] ------------------------------------------
[00:45:30] {"message":"unreachable statement","code":{"code":"unreachable_code","explanation":null},"level":"error","spans":[{"file_name":"<print macros>","byte_start":28,"byte_end":87,"line_start":2,"line_end":2,"column_start":1,"column_end":60,"is_primary":true,"text":[{"text":"$ crate :: io :: _print ( format_args ! ( $ ( $ arg ) * ) ) ) ;","highlight_start":1,"highlight_end":60}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"<println macros>","byte_start":53,"byte_end":90,"line_start":2,"line_end":2,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"print ! ( concat ! ( $ fmt , \"\\n\" ) ) ) ; ( $ fmt : expr , $ ( $ arg : tt ) *","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/checkout/src/test/ui/reachable/expr_loop.rs","byte_start":608,"byte_end":631,"line_start":18,"line_end":18,"column_start":5,"column_end":28,"is_primary":false,"text":[{"text":"    println!(\"I am dead.\");","highlight_start":5,"highlight_end":28}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"println!","def_site_span":{"file_name":"<println macros>","byte_start":0,"byte_end":195,"line_start":1,"line_end":3,"column_start":1,"column_end":65,"is_primary":false,"text":[{"text":"(  ) => ( print ! ( \"\\n\" ) ) ; ( $ fmt : expr ) => (","highlight_start":1,"highlight_end":53},{"text":"print ! ( concat ! ( $ fmt , \"\\n\" ) ) ) ; ( $ fmt : expr , $ ( $ arg : tt ) *","highlight_start":1,"highlight_end":78},{"text":") => ( print ! ( concat ! ( $ fmt , \"\\n\" ) , $ ( $ arg ) * ) ) ;","highlight_start":1,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"print!","def_site_span":{"file_name":"<print macros>","byte_start":0,"byte_end":91,"line_start":1,"line_end":2,"column_start":1,"column_end":64,"is_primary":false,"text":[{"text":"( $ ( $ arg : tt ) * ) => (","highlight_start":1,"highlight_end":28},{"text":"$ crate :: io :: _print ( format_args ! ( $ ( $ arg ) * ) ) ) ;","highlight_start":1,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"lint level defined here","code":null,"level":"note","spans":[{"file_nameplacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/checkout/src/test/ui/reachable/expr_loop.rs","byte_start":782,"byte_end":805,"line_start":31,"line_end":31,"column_start":5,"column_end":28,"is_primary":false,"text":[{"text":"    println!(\"I am dead.\");","highlight_start":5,"highlight_end":28}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"println!","def_site_span":{"file_name":"<println macros>","byte_start":0,"byte_end":195,"line_start":1,"line_end":3,"column_start":1,"column_end":65,"is_primary":false,"text":[{"text":"(  ) => ( print ! ( \"\\n\" ) ) ; ( $ fmt : expr ) => (","highlight_start":1,"highlight_end":53},{"text":"print ! ( concat ! ( $ fmt , \"\\n\" ) ) ) ; ( $ fmt : expr , $ ( $ arg : tt ) *","highlight_start":1,"highlight_end":78},{"text":") => ( print ! ( concat ! ( $ fmt , \"\\n\" ) , $ ( $ arg ) * ) ) ;","highlight_start":1,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"print!","def_site_span":{"file_name":"<print macros>","byte_start":0,"byte_end":91,"line_start":1,"line_end":2,"column_start":1,"column_end":64,"is_primary":false,"text":[{"text":"( $ ( $ arg : tt ) * ) => (","highlight_start":1,"highlight_end":28},{"text":"$ crate :: io :: _print ( format_args ! ( $ ( $ arg ) * ) ) ) ;","highlight_start":1,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"error: unreachable statement\n  --> /checkout/src/test/ui/reachable/expr_loop.rs:31:5\n   |\nLL |     println!(\"I am dead.\");\n   |     ^^^^^^^^^^^^^^^^^^^^^^^\n   |\n   = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)\n\n"}
[00:45:30] {"message":"unreachable statement","code":{"code":"unreachable_code","explanation":null},"level":"error","spans":[{"file_name":"<print macros>","byte_start":28,"byte_end":87,"line_start":2,"line_end":2,"column_start":1,"column_end":60,"is_primary":true,"text":[{"text":"$ crate :: io :: _print ( format_args ! ( $ ( $ arg ) * ) ) ) ;","highlight_start":1,"highlight_end":60}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"<println macros>","byte_start":53,"byte_end":90,"line_start":2,"line_end":2,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"print ! ( concat ! ( $ fmt , \"\\n\" ) ) ) ; ( $ fmt : expr , $ ( $ arg : tt ) *","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/checkout/src/test/ui/reachable/expr_loop.rs","byte_start":1002,"byte_end":1025,"line_start":42,"line_end":42,"column_start":5,"column_end":28,"is_primary":false,"text":[{"text":"    println!(\"I am dead.\");","highlight_start":5,"highlight_end":28}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"println!","def_site_span":{"file_name":"<println macros>","byte_start":0,"byte_end":195,"line_start":1,"line_end":3,"column_start":1,"column_end":65,"is_primary":false,"text":[{"te0] 
[00:45:30] diff of stderr:
[00:45:30] 
[00:45:30] 19    = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
[00:45:30] 20 
[00:45:30] 20 
[00:45:30] 21 error: unreachable statement
[00:45:30] -   --> $DIR/expr_match.rs:34:5
[00:45:30] +   --> $DIR/expr_match.rs:35:5
[00:45:30] 23    |
[00:45:30] 24 LL |     println!("I am dead");
[00:45:30] 
[00:45:30] 
[00:45:30] The actual stderr differed from the expected stderr.
[00:45:30] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/reachable/expr_match/expr_match.stderr
[00:45:30] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/reachable/expr_match/expr_match.stderr
[00:45:30] To update references, rerun the tests and pass the `--bless` flag
[00:45:30] To only update this specific test, also pass `--test-args reachable/expr_match.rs`
[00:45:30] error: 1 errors occurred comparing output.
[00:45:30] status: exit code: 101
[00:45:30] status: exit code: 101
[00:45:30] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/reachable/expr_match.rs" "--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/reachable/expr_match/a" "-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/reachable/expr_match/auxiliary" "-A" "unused"
[00:45:30] ------------------------------------------
[00:45:30] 
[00:45:30] ------------------------------------------
[00:45:30] stderr:
[00:45:30] stderr:
[00:45:30] ------------------------------------------
[00:45:30] {"message":"unreachable expression","code":{"code":"unreachable_code","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/reachable/expr_match.rs","byte_start":674,"byte_end":692,"line_start":19,"line_end":19,"column_start":5,"column_end":23,"is_primary":true,"text":[{"text":"    match {return} { } //~ ERROR unreachable","highlight_start":5,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"lint level defined here","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/reachable/expr_match.rs","byte_start":554,"byte_end":570,"line_start":14,"line_end":14,"column_start":9,"column_end":25,"is_primary":true,"text":[{"text":"#![deny(unreachable_code)]","highlight_start":9,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"error: unreachable expression\n  --> /checkout/src/test/ui/reachable/expr_match.rs:19:5\n   |\nLL |     match {return} { } //~ ERROR unreachable\n   |     ^^^^^^^^^^^^^^^^^^\n   |\nnote: lint level defined here\n  --> /checkout/src/test/ui/reachable/expr_match.rs:14:9\n   |\nLL | #![deny(unreachable_code)]\n   |         ^^^^^^^^^^^^^^^^\n\n"}
[00:45:30] {"message":"unreachable statement","code":{"code":"unreachable_code","explanation":null},"level":"error","spans":[{"file_name":"<print macros>","byte_start":28,"byte_end":87,"line_start":2,"line":null,"expansion":{"span":{"file_name":"/checkout/src/test/ui/reachable/expr_match.rs","byte_start":982,"byte_end":1004,"line_start":35,"line_end":35,"column_start":5,"column_end":27,"is_primary":false,"text":[{"text":"    println!(\"I am dead\");","highlight_start":5,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"println!","def_site_span":{"file_name":"<println macros>","byte_start":0,"byte_end":195,"line_start":1,"line_end":3,"column_start":1,"column_end":65,"is_primary":false,"text":[{"text":"(  ) => ( print ! ( \"\\n\" ) ) ; ( $ fmt : expr ) => (","highlight_start":1,"highlight_end":53},{"text":"print ! ( concat ! ( $ fmt , \"\\n\" ) ) ) ; ( $ fmt : expr , $ ( $ arg : tt ) *","highlight_start":1,"highlight_end":78},{"text":") => ( print ! ( concat ! ( $ fmt , \"\\n\" ) , $ ( $ arg ) * ) ) ;","highlight_start":1,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"print!","def_site_span":{"file_name":"<print macros>","byte_start":0,"byte_end":91,"line_start":1,"line_end":2,"column_start":1,"column_end":64,"is_primary":false,"text":[{"text":"( $ ( $ arg : tt ) * ) => (","highlight_start":1,"highlight_end":28},{"text":"$ crate :: io :: _print ( format_args ! ( $ ( $ arg ) * ) ) ) ;","highlight_start":1,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"error: unreachable statement\n  --> /checkout/src/test/ui/reachable/expr_match.rs:35:5\n   |\nLL |     println!(\"I am deln macros>","byte_start":53,"byte_end":90,"line_start":2,"line_end":2,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"print ! ( concat ! ( $ fmt , \"\\n\" ) ) ) ; ( $ fmt : expr , $ ( $ arg : tt ) *","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/checkout/src/test/ui/reachable/expr_while.rs","byte_start":614,"byte_end":640,"line_start":18,"line_end":18,"column_start":9,"column_end":35,"is_primary":false,"text":[{"text":"        println!(\"Hello, world!\");","highlight_start":9,"highlight_end":35}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"println!","def_site_span":{"file_name":"<println macros>","byte_start":0,"byte_end":195,"line_start":1,"line_end":3,"column_start":1,"column_end":65,"is_primary":false,"text":[{"text":"(  ) => ( print ! ( \"\\n\" ) ) ; ( $ fmt : expr ) => (","highlight_start":1,"highlight_end":53},{"text":"print ! ( concat ! ( $ fmt , \"\\n\" ) ) ) ; ( $ fmt : expr , $ ( $ arg : tt ) *","highlight_start":1,"highlight_end":78},{"text":") => ( print ! ( concat ! ( $ fmt , \"\\n\" ) , $ ( $ arg ) * ) ) ;","highlight_start":1,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"print!","def_site_span":{"file_name":"<print macros>","byte_start":0,"byte_end":91,"line_start":1,"line_end":2,"column_start":1,"column_end":64,"is_primary":false,"text":[{"text":"( $ ( $ arg : tt ) * ) => (","highlight_start":1,"highlight_end":28},{"text":"$ crate :: io :: _print ( format_args ! ( $ ( $ arg ) * ) ) ) ;","highlight_start":1,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"lint level defined here","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/reachable/expr_while.rs","byte_start":554,"byte_end":570,"line_start":14,"line_end":14,"column_start":9,"column_end":25,"is_primary":true,"text":[{"text":"#![deny(unreachable_code)]","highlight_start":9,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"error: unreachable statement\n  --> /checkout/src/test/ui/reachable/expr_while.rs:18:9\n   |\nLL |         println!(\"Hello, world!\");\n   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^\n   |\nnote: lint level defined here\n  --> /checkout/src/test/ui/reachable/expr_while.rs:14:9\n   |\nLL | #![deny(unreachable_code)]\n   |         ^^^^^^^^^^^^^^^^\n   = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)\n\n"}
[00:45:30] {"message":"unreachable statement","code":{"code":"unreachable_code","explanation":null},"level":"error","spans":[{"file_name":"<print macros>","byte_start":28,"byte_end":87,"line_start":2,"line_end":2,"column_start":1,"column_end":60,"is_primary":true,"text":[{"text":"$ crate :: io :: _print ( format_args ! ( $ ( $ arg ) * ) ) ) ;","highlight_start":1,"highlight_end":60}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"<println macros>","byte_start":53,"byte_end":90,"line_start":2,"line_end":2,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"print ! ( concat ! ( $ fmt , \"\\n\" ) ) ) ; ( $ fmt : expr , $ ( $ arg : tt ) *","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/checkout/src/test/ui/reachable/expr_while.rs","byte_start":855,"byte_end":878,"line_start":33,"line_end":33,"column_start":9,"column_end":32,"is_primary":false,"text":[{"text":"        println!(\"I am dead.\");","highlight_start":9,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"println!","def_site_span":{"file_name":"<println macros>","byte_start":0,"byte_end":195,"line_start":1,"line_end":3,"column_start":1,"column_end":65,"is_primary":false,"text":[{"text":"(  ) => ( print ! ( \"\\n\" ) ) ; ( $ fmt : expr ) => (","highlight_start":1,"highlight_end":53},{"text":"print ! ( concat ! ( $ fmt , \"\\n\" ) ) ) ; ( $ fmt : expr , $ ( $ arg : tt ) *","highlight_start":1,"highlight_end":78},{"text":") => ( print ! ( concat ! ( $ fmt , \"\\n\" ) , $ ( $ arg ) * ) ) ;","highlight_start":1,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"print!","def_site_span":{"file_name":"<print macros>","byte_start":0,"byte_end":91,"line_start":1,"line_end":2,"column_start":1,"column_end":64,"is_primary":false,"text":[{"text":"( $ ( $ arg : tt ) * ) => (","highlight_start":1,"highlight_end":28},{"text":"$:5,"highlight_end":28}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"println!","def_site_span":{"file_name":"<println macros>","byte_start":0,"byte_end":195,"line_start":1,"line_end":3,"column_start":1,"column_end":65,"is_primary":false,"text":[{"text":"(  ) => ( print ! ( \"\\n\" ) ) ; ( $ fmt : expr ) => (","highlight_start":1,"highlight_end":53},{"text":"print ! ( concat ! ( $ fmt , \"\\n\" ) ) ) ; ( $ fmt : expr , $ ( $ arg : tt ) *","highlight_start":1,"highlight_end":78},{"text":") => ( print ! ( concat ! ( $ fmt , \"\\n\" ) , $ ( $ arg ) * ) ) ;","highlight_start":1,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"print!","def_site_span":{"file_name":"<print macros>","byte_start":0,"byte_end":91,"line_start":1,"line_end":2,"column_start":1,"column_end":64,"is_primary":false,"text":[{"text":"( $ ( $ arg : tt ) * ) => (","highlight_start":1,"highlight_end":28},{"text":"$ crate :: io :: _print ( format_args ! ( $ ( $ arg ) * ) ) ) ;","highlight_start":1,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":"error: unreachable statement\n  --> /checkout/src/test/ui/reachable/expr_while.rs:36:5\n   |\nLL |     println!(\"I am, too.\");\n   |     ^^^^^^^^^^^^^^^^^^^^^^^\n   |\n   = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)\n\n"}
[00:45:30] {"message":"aborting due to 3 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 3 previous errors\n\n"}
[00:45:30] ------------------------------------------
[00:45:30] 
[00:45:30] thread '[ui] ui/reachable/expr_while.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3139:9
[00:45:30] 
[00:45:30] 
[00:45:30] ---- [ui] ui/span/slice-borrow.rs stdout ----
[00:45:30] diff of stderr:
[00:45:30] 
[00:45:30] 3    |
[00:45:30] 4 LL |         let x: &[isize] = &vec![1, 2, 3, 4, 5];
[00:45:30] 5    |                            ^^^^^^^^^^^^^^^^^^^ temporary value does not live long enough
[00:45:30] - LL |         y = &x[1..];
[00:45:30] + ...
[00:45:30] 7 LL |     }
[00:45:30] 8    |     - temporary value dropped here while still borrowed
[00:45:30] 9 LL |     y.use_ref();
[00:45:30] 
[00:45:30] The actual stderr differed from the expected stderr.
[00:45:30] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/span/slice-borrow/slice-borrow.stderr
[00:45:30] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/span/slice-borrow/slice-borrow.stderr
[00:45:30] To update references, rerun the tests and pass the `--bless` flag
[00:45:30] To only update this specific test, also pass `--test-args span/slice-borrow.rs`
[00:45:30] error: 1 errors occurred comparing output.
[00:45:30] status: exit code: 101
[00:45:30] status: exit code: 101
[00:45:30] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/span/slice-borrow.rs" "--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/slice-borrow/a" "-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/slice-borrow/auxiliary" "-A" "unused"
[00:45:30] ------------------------------------------
[00:45:30] 
[00:45:30] ------------------------------------------
[00:45:30] stderr:
[00:45:30] stderr:
[00:45:30] ------------------------------------------
[00:45:30] {"message":"borrowed value does not live long enough","code":{"code":"E0597","explanation":"\nThis error occurs because a borrow was made inside a variable which has a\ngreater lifetime than the borrowed one.\n\nExample of erroneous code:\n\n```compile_fail,E0597\nstruct Foo<'a> {\n    x: Option<&'a u32>,\n}\n\nlet mut x = Foo { x: None };\nlet y = 0;\nx.x = Some(&y); // error: `y` does not live long enough\n```\n\nIn here, `x` is created before `y` and therefore has a greater lifetime. Always\nkeep in mind that values in a scope are dropped in the opposite order they are\ncreated. So to fix the previous example, just make the `y` lifetime greater than\nthe `x`'s one:\n\n```\nstruct Foo<'a> {\n    x: Option<&'a u32>,\n}\n\nlet y = 0;\nlet mut x = Foo { x: None };\nx.x = Some(&y);\n```\n"},"level":"error","spans":[{"file_name":"<vec macros>","byte_start":115,"byte_end":162,"line_start":3,"line_end":3,"column_start":1,"column_end":48,"is_primary":true,"text":[{"text":"< [ _ ] > :: into_vec ( box [ $ ( $ x ) , * ] ) ) ; ( $ ( $ x : expr , ) * )","highlight_start":1,"highlight_end":48}],"label":"temporary value does not live long enough","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/checkout/src/test/ui/span/slice-borrow.rs","byte_start":587,"byte_end":606,"line_start":16,"line_end":16,"column_start":28,"column_end":47,"is_primary":false,"text":[{"text":"        let x: &[isize] = &vec![1, 2, 3, 4, 5];","highlight_start":28,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"vec!","def_site_span":{"file_name":"<vec macros>","byte_start":0,"byte_end":222,"line_start":1,"line_end":4,"column_start":1,"column_end":31,"is_primary":false,"text":[{"text":"( $ elem : expr ; $ n : expr ) => (","highlight_start":1,"highlight_end":36},{"text":"$ crate :: vec :: from_elem ( $ elem , $ n ) ) ; ( $ ( $ x : expr ) , * ) => (","highlight_start":1,"highlight_end":79},{"text":"< [ _ ] > :: into_vec ( box [ $ ( $ x ) , * ] ) ) ; ( $ ( $ x : expr , ) * )","highlight_start":1,"highlight_end":77},{"text":"=> ( vec ! [ $ ( $ x ) , * ] )","highlight_start":1,"highlight_end":31}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"/checkout/src/test/ui/span/slice-borrow.rs","byte_start":693,"byte_end":694,"line_start":19,"line_end":19,"column_start":5,"column_end":6,"is_primary":false,"text":[{"text":"    }","highlight_start":5,"highlight_end":6}],"label":"temporary value dropped here while still borrowed","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/span/slice-borrow.rs","byte_start":712,"byte_end":713,"line_start":21,"line_end":21,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"}","highlight_start":1,"highligh

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
Collaborator

The job x86_64-gnu-llvm-5.0 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.
travis_time:start:test_ui
Check compiletest suite=ui mode=ui (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[00:41:48] 
[00:41:48] running 2118 tests
[00:41:51] ......................................................................................F...........i.
[00:41:58] ....................................................................................................
[00:42:00] ....................................................................................................
[00:42:02] ....................................................................................................
[00:42:04] ....................................................................................................
[00:42:04] ....................................................................................................
[00:42:07] ............................F.......................................................................
[00:42:10] .........................................................................................F..........
[00:42:13] ......................................Fi............................................................
[00:42:18] ....................................................................................................
[00:42:18] ....................................................................................................
[00:42:20] ............................................................F.......................................
[00:42:23] ....................................................................................................
[00:42:26] .....................................................................................F..............
[00:42:33] ............................................................................................i.......
[00:42:36] ..................................................................................i.................
[00:42:39] ....................................................................................................
[00:42:43] ....................................................................................................
[00:42:43] ....................................................................................................
[00:42:46] ....................................................................................................
[00:42:50] .................................i..................................................................
[00:42:51] .............i....
[00:42:51] failures:
[00:42:51] 
[00:42:51] ---- [ui] ui/codemap_tests/bad-format-args.rs stdout ----
[00:42:51] 
[00:42:51] error: /checkout/src/test/ui/codemap_tests/bad-format-args.rs:12: unexpected error: '12:5: 12:15: requires at least a format string argument'
[00:42:51] error: /checkout/src/test/ui/codemap_tests/bad-format-args.rs:13: unexpected error: '13:5: 13:19: expected token: `,`'
[00:42:51] 
[00:42:51] error: 2 unexpected errors found, 0 expected errors not found
[00:42:51] status: exit code: 101
[00:42:51] status: exit code: 101
[00:42:51] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/codemap_tests/bad-format-args.rs" "--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/codemap_tests/bad-format-args/a" "-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/codemap_tests/bad-format-args/auxiliary" "-A" "unused"
[00:42:51]     Error {
[00:42:51]         line_num: 12,
[00:42:51]         kind: Some(
[00:42:51]             Error
[00:42:51]             Error
[00:42:51]         ),
[00:42:51]         msg: "12:5: 12:15: requires at least a format string argument"
[00:42:51]     Error {
[00:42:51]         line_num: 13,
[00:42:51]         kind: Some(
[00:42:51]             Error
---
[00:42:51] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:42:51] 
[00:42:51] ---- [ui] ui/fmt/format-string-error.rs stdout ----
[00:42:51] 
[00:42:51] error: /checkout/src/test/ui/fmt/format-string-error.rs:12: unexpected error: '12:5: 12:19: invalid format string: expected `'}'` but string was terminated'
[00:42:51] 
[00:42:51] error: /checkout/src/test/ui/fmt/format-string-error.rs:12: expected error not found: invalid format string: expected `\'}\'` but string was terminated
[00:42:51] error: 1 unexpected errors found, 1 expected errors not found
[00:42:51] status: exit code: 101
[00:42:51] status: exit code: 101
[00:42:51] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/fmt/format-string-error.rs" "--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/fmt/format-string-error/a" "-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/fmt/format-string-error/auxiliary" "-A" "unused"
[00:42:51]     Error {
[00:42:51]         line_num: 12,
[00:42:51]         kind:            Error
[00:42:51]         ),
---
[00:42:51] thread '[ui] ui/issue-13446.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1283:13
[00:42:51] 
[00:42:51] ---- [ui] ui/issue-16966.rs stdout ----
[00:42:51] 
[00:42:51] error: /checkout/src/test/ui/issue-16966.rs:13: unexpected error: '13:5: 15:7: type annotations needed [E0282]'
[00:42:51] error: 1 unexpected errors found, 0 expected errors not found
[00:42:51] status: exit code: 101
[00:42:51] status: exit code: 101
[00:42:51] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/issue-16966.rs" "--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/issue-16966/a" "-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/issue-16966/auxiliary" "-A" "unused"
[00:42:51]     Error {
[00:42:51]         line_num: 13,
[00:42:51]         kind: Some(
[00:42:51]             Error
---
[00:42:51] thread '[ui] ui/issue-16966.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1283:13
[00:42:51] 
[00:42:51] ---- [ui] ui/issue-32829.rs stdout ----
[00:42:51] 
[00:42:51] error: /checkout/src/test/ui/issue-328rror 1
[00:42:51] Makefile:58: recipe for target 'check' failed

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0029df84
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

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
Collaborator

The job x86_64-gnu-llvm-5.0 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:47:11] ............................................................................................i.......
[00:47:15] ..................................................................................i.................
[00:47:18] ....................................................................................................
[00:47:21] ....................................................................................................
[00:47:24] .......................................................F............................................
[00:47:29] .............i....
[00:47:29] failures:
[00:47:29] 
[00:47:29] ---- [ui (nll)] ui/lifetimes/borrowck-let-suggestion.rs stdout ----
[00:47:29] ---- [ui (nll)] ui/lifetimes/borrowck-let-suggestion.rs stdout ----
[00:47:29] diff of stderr:
[00:47:29] 
[00:47:29] 5    |                 ^^^^^^^       - temporary value only lives until here
[00:47:29] 6    |                 |
[00:47:29] 7    |                 temporary value does not live long enough
[00:47:29] + LL |     //~^ ERROR borrowed value does not live long enough
[00:47:29] 8 LL |     x.use_mut();
[00:47:29] 9    |     - borrow later used here
[00:47:29] 
[00:47:29] 
[00:47:29] The actual stderr differed from the expected stderr.
[00:47:29] The actual stderr differed from the expected stderr.
[00:47:29] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lifetimes/borrowck-let-suggestion.nll/borrowck-let-suggestion.nll.stderr
[00:47:29] To update references, rerun the tests and pass the `--bless` flag
[00:47:29] To only update this specific test, also pass `--test-args lifetimes/borrowck-let-suggestion.rs`
[00:47:29] error: 1 errors occurred comparing output.
[00:47:29] status: exit code: 101
[00:47:29] status: exit code: 101
[00:47:29] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/lifetimes/borrowck-let-suggestion.rs" "--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/lifetimes/borrowck-let-suggestion.nll/a" "-Zborrowck=mir" "-Ztwo-phase-borrows" "-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/lifetimes/borrowck-let-suggestion.nll/auxiliary" "-A" "unused"
[00:47:29] ------------------------------------------
[00:47:29] 
[00:47:29] ------------------------------------------
[00:47:29] stderr:
[00:47:29] stderr:
[00:47:29] ------------------------------------------
[00:47:29] {"message":"borrowed value does not live long enough","code":{"code":"E0597","explanation":"\nThis error occurs because a borrow was made inside a variable which has a\ngreater lifetime than the borrowed one.\n\nExample of erroneous code:\n\n```compile_fail,E0597\nstruct Foo<'a> {\n    x: Option<&'a u32>,\n}\n\nlet mut x = Foo { x: None };\nlet y = 0;\nx.x = Some(&y); // error: `y` does not live long enough\n```\n\nIn here, `x` is created before `y` and therefore has a greater lifetime. Always\nkeep in mind that values in a scope are dropped in the opposite order they are\ncreated. So to fix the previous example, just make the `y` lifetime greater than\nthe `x`'s one:\n\n```\nstruct Foo<'a> {\n    x: Option<&'a u32>,\n}\n\nlet y = 0;\nlet mut x = Foo { x: None };\nx.x = Some(&y);\n```\n"},"level":"error","spans":[{"file_name":"<vec macros>","byte_start":115,"byte_end":162,"line_start":3,"line_end":3,"column_start":1,"column_end":48,"is_primary":true,"text":[{"text":"< [ _ ] > :: into_vec ( box [ $ ( $ x ) , * ] ) ) ; ( $ ( $ x : expr , ) * )","highlight_start":1,"highlight_end":48}],"label":"temporary value does not live long enouart":568,"byte_end":569,"line_start":14,"line_end":14,"column_start":5,"column_end":6,"is_primary":false,"text":[{"text":"    x.use_mut();","highlight_start":5,"highlight_end":6}],"label":"borrow later used here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0597]: borrowed value does not live long enough\n  --> /checkout/src/test/ui/lifetimes/borrowck-let-suggestion.rs:12:17\n   |\nLL |     let mut x = vec![1].iter();\n   |                 ^^^^^^^       - temporary value only lives until here\n   |                 |\n   |                 temporary value does not live long enough\nLL |     //~^ ERROR borrowed value does not live long enough\nLL |     x.use_mut();\n   |     - borrow later used here\n   |\n   = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)\n\n"}
[00:47:29] {"message":"aborting due to previous error","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to previous error\n\n"}
[00:47:29] {"message":"For more information about this error, try `rustc --explain E0597`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about this error, try `rustc --explain E0597`.\n"}
[00:47:29] ------------------------------------------
[00:47:29] 
[00:47:29] thread '[ui (nll)] ui/lifetimes/borrowck-let-suggestion.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3139:9
[00:47:29] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:47:29] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:47:29] 
[00:47:29] ---- [ui (nll)] ui/s"suggestion_applicability":null,"expansion":null},"macro_decl_name":"vec!","def_site_span":{"file_name":"<vec macros>","byte_start":0,"byte_end":222,"line_start":1,"line_end":4,"column_start":1,"column_end":31,"is_primary":false,"text":[{"text":"( $ elem : expr ; $ n : expr ) => (","highlight_start":1,"highlight_end":36},{"text":"$ crate :: vec :: from_elem ( $ elem , $ n ) ) ; ( $ ( $ x : expr ) , * ) => (","highlight_start":1,"highlight_end":79},{"text":"< [ _ ] > :: into_vec ( box [ $ ( $ x ) , * ] ) ) ; ( $ ( $ x : expr , ) * )","highlight_start":1,"highlight_end":77},{"text":"=> ( vec ! [ $ ( $ x ) , * ] )","highlight_start":1,"highlight_end":31}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"/checkout/src/test/ui/span/slice-borrow.rs","byte_start":693,"byte_end":694,"line_start":19,"line_end":19,"column_start":5,"column_end":6,"is_primary":false,"text":[{"text":"    }","highlight_start":5,"highlight_end":6}],"label":"temporary value only lives until here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/span/slice-borrow.rs","byte_start":699,"byte_end":700,"line_start":20,"line_end":20,"column_start":5,"column_end":6,"is_primary":false,"text":[{"text":"    y.use_ref();","highlight_start":5,"highlight_end":6}],"label":"borrow later used here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0597]: borrowed value does not live long enough\n  --> /checkout/src/test/ui/span/slice-borrow.rs:16:28\n   |\nLL |         let x: &[isize] = &v

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
Collaborator

The job x86_64-gnu-llvm-5.0 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:05] ........................................i...........................................................
[00:46:08] ..............................i.....................................................................
[00:46:11] ....................................................................................................
[00:46:15] ....................................................................................................
[00:46:18] ..............F..................................i..................................................
[00:46:20] failures:
[00:46:20] 
[00:46:20] ---- [ui (nll)] ui/span/slice-borrow.rs stdout ----
[00:46:20] diff of stderr:
[00:46:20] diff of stderr:
[00:46:20] 
[00:46:20] 3    |
[00:46:20] 4 LL |         let x: &[isize] = &vec![1, 2, 3, 4, 5];
[00:46:20] 5    |                            ^^^^^^^^^^^^^^^^^^^ temporary value does not live long enough
[00:46:20] - LL |         y = &x[1..];
[00:46:20] + ...
[00:46:20] 7 LL |     }
[00:46:20] 8    |     - temporary value only lives until here
[00:46:20] 9 LL |     y.use_ref();
[00:46:20] 
[00:46:20] The actual stderr differed from the expected stderr.
[00:46:20] The actual stderr differed from the expected stderr.
[00:46:20] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/span/slice-borrow.nll/slice-borrow.nll.stderr
[00:46:20] To update references, rerun the tests and pass the `--bless` flag
[00:46:20] To only update this specific test, also pass `--test-args span/slice-borrow.rs`
[00:46:20] error: 1 errors occurred comparing output.
[00:46:20] status: exit code: 1
[00:46:20] status: exit code: 1
[00:46:20] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/span/slice-borrow.rs" "--target=x86_64-unvec ( box [ $ ( $ x ) , * ] ) ) ; ( $ ( $ x : expr , ) * )","highlight_start":1,"highlight_end":48}],"label":"temporary value does not live long enough","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/checkout/src/test/ui/span/slice-borrow.rs","byte_start":587,"byte_end":606,"line_start":16,"line_end":16,"column_start":28,"column_end":47,"is_primary":false,"text":[{"text":"        let x: &[isize] = &vec![1, 2, 3, 4, 5];","highlight_start":28,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"vec!","def_site_span":{"file_name":"<vec macros>","byte_start":0,"byte_end":222,"line_start":1,"line_end":4,"column_start":1,"column_end":31,"is_primary":false,"text":[{"text":"( $ elem : expr ; $ n : expr ) => (","highlight_start":1,"highlight_end":36},{"text":"$ crate :: vec :: from_elem ( $ elem , $ n ) ) ; ( $ ( $ x : expr ) , * ) => (","highlight_start":1,"highlight_end":79},{"text":"< [ _ ] > :: into_vec ( box [ $ ( $ x ) , * ] ) ) ; ( $ ( $ x : expr , ) * )","highlight_start":1,"highlight_end":77},{"text":"=> ( vec ! [ $ ( $ x ) , * ] )","highlight_start":1,"highlight_end":31}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"/checkout/src/test/ui/span/slice-borrow.rs","byte_start":693,"byte_end":694,"line_start":19,"line_end":19,"column_start":5,"column_end":6,"is_primary":false,"text":[{"text":"    }","highlight_start":5,"highlight_end":6}],"label":"temporary value only lives until here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/span/slice-borrow.rs","byte_start":699,"byte_end":700,"line_start":20,"line_end":20,"column_start":5,"column_end":6,"is_primary":false,"text":[{"text":"    y.use_ref();","highlight_start":5,"highlight_end":6}],"label":"borrow later used here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0597]: borrowed value does not live long enough\n  --> /checkout/src/test/ui/span/slice-borrow.rs:16:28\n   |\nLL |         let x: &[isize] = &vec![1, 2, 3, 4, 5];\n   |                            ^^^^^^^^^^^^^^^^^^^ temporary value does not live long enough\n...\nLL |     }\n   |     - temporary value only lives until here\nLL |     y.use_ref();\n   |     - borrow later used here\n   |\n   = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)\n\n"}
[00:46:20] {"message":"aborting due to previous error","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to previous error\n\n"}
[00:46:20] {"message":"For more information about this error, try `rustc --explain E0597`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about this error, try `rustc --explain E0597`.\n"}
[00:46:20] ------------------------------------------
[00:46:20] 
[00:46:20] thread '[ui (nll)] ui/span/slice-borrow.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3137:9
[00:46:20] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:46:20] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:46:20] 
[00:46:20] 
[00:46:20] ut/obj/build/bootstrap/debug/bootstrap test
[00:46:20] Build completed unsuccessfully in 0:02:49
[00:46:20] Makefile:58: recipe for target 'check' failed
[00:46:20] make: *** [check] Error 1
122228 ./obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps
121720 ./obj/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/x86_64-unknown-linux-gnu/release/deps
107600 ./src/llvm/test/CodeGen
107460 ./obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu
---
travis_time:end:04da7c60:start=1532076598496412296,finish=1532076598505261524,duration=8849228
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:0b1e8353
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:1c146f55
travis_time:start:1c146f55
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:0351912e
$ dmesg | grep -i kill

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
Collaborator

The job x86_64-gnu-llvm-5.0 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:57] ....................................................................................................
[00:47:10] .......................................................................i............................
[00:47:20] ....................................................................................................
[00:47:31] .............................................................................................i......
[00:47:40] ........................F...........................................................................
[00:48:04] ....................................................................................................
[00:48:14] ..........................................................................i.........................
[00:48:24] .........................................................................i..........................
[00:48:41] ....................................................................................................
---
[00:50:22] ---- [run-pass] run-pass/issue-51848.rs stdout ----
[00:50:22] 
[00:50:22] error: compilation failed!
[00:50:22] status: exit code: 1
[00:50:22] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/run-pass/issue-51848.rs" "--target=x86_64-unknown-linux-gnu" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/issue-51848/a" "-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/run-pass/issue-51848/auxiliary"
[00:50:22] ------------------------------------------
[00:50:22] 
[00:50:22] ------------------------------------------
[00:50:22] stderr:
[00:50:22] stderr:
[00:50:22] ------------------------------------------
[00:50:22] error: invalid format string: expected `'}'` but string was terminated
[00:50:22]    |
[00:50:22]    |
[00:50:22] 21 |     println!("{"); //~ ERROR invalid
[00:50:22]    |     ^^^^^^^^^^^^^^ expected `'}'` in format string
[00:50:22]    |
[00:50:22]    = note: if you intended to print `{`, you can escape it using `{{`
[00:50:22] 
[00:50:22] error: aborting due to previous error
[00:50:22] 
[00:50:22] 
---
[00:50:22] 
[00:50:22] thread 'main' panicked at 'Some tests failed', tools/compiletest/src/main.rs:498:22
[00:50:22] 
[00:50:22] 
[00:50:22] 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/run-pass" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "run-pass" "--target" "x86_64-unknown-linux-gnu/release
121716 ./obj/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/x86_64-unknown-linux-gnu/release/deps
107612 ./src/llvm/test/CodeGen
107460 ./obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu
107456 ./obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release
---
travis_time:end:04077bd7:start=1532080095549842568,finish=1532080095629394498,duration=79551930
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:1fbdfc20
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:09bc6bce
$ dmesg | grep -i kill

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
Collaborator

The job x86_64-gnu-llvm-5.0 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:06:39] error[E0408]: variable `Return` is not bound in all patterns
[00:06:39]     --> librustc/mir/mod.rs:1042:13
[00:06:39]      |
[00:06:39] 1042 |               Resume
[00:06:39]      |               ^^^^^^ pattern doesn't bind `Return`
[00:06:39] 1043 |               | Abort
[00:06:39]      |                 ^^^^^ pattern doesn't bind `Return`
[00:06:39] 1044 |               | GeneratorDrop
[00:06:39]      |                 ^^^^^^^^^^^^^ pattern doesn't bind `Return`
[00:06:39] 1045 |               | Return
[00:06:39]      |                 ------ variable not in all patterns
[00:06:39] 1046 |               | Unreachable
[00:06:39]      |                 ^^^^^^^^^^^ pattern doesn't bind `Return`
[00:06:39] 1047 |               | Call {
[00:06:39] 1048 | |                 destination: None,
[00:06:39] 1049 | |                 cleanup: None,
[00:06:39] 1050 | |                 ..
[00:06:39] 1050 | |                 ..
[00:06:39] 1051 | |             } => None.into_iter().chain(&[]),
[00:06:39]      | |_____________^ pattern doesn't bind `Return`
[00:06:39] error[E0408]: variable `Return` is not bound in all patterns
[00:06:39]     --> librustc/mir/mod.rs:1127:13
[00:06:39]      |
[00:06:39] 1127 |               Resume
[00:06:39] 1127 |               Resume
[00:06:39]      |               ^^^^^^ pattern doesn't bind `Return`
[00:06:39] 1128 |               | Abort
[00:06:39]      |                 ^^^^^ pattern doesn't bind `Return`
[00:06:39] 1129 |               | GeneratorDrop
[00:06:39]      |                 ^^^^^^^^^^^^^ pattern doesn't bind `Return`
[00:06:39] 1130 |               | Return
[00:06:39]      |                 ------ variable not in all patterns
[00:06:39] 1131 |               | Unreachable
[00:06:39]      |                 ^^^^^^^^^^^ pattern doesn't bind `Return`
[00:06:39] 1132 |               | Call {
[00:06:39] 1133 | |                 destination: None,
[00:06:39] 1134 | |                 cleanup: None,
[00:06:39] 1135 | |                 ..
[00:06:39] 1135 | |                 ..
[00:06:39] 1136 | |             } => None.into_iter().chain(&mut []),
[00:06:39]      | |_____________^ pattern doesn't bind `Return`
[00:06:39] error[E0408]: variable `Return` is not bound in all patterns
[00:06:39]     --> librustc/mir/mod.rs:1448:22
[00:06:39]      |
[00:06:39]      |
[00:06:39] 1448 |             Return | Resume | Abort | Unreachable | GeneratorDrop => vec![],
[00:06:39]      |             ------   ^^^^^^   ^^^^^   ^^^^^^^^^^^   ^^^^^^^^^^^^^ pattern doesn't bind `Return`
[00:06:39]      |             |        |        |       pattern doesn't bind `Return`
[00:06:39]      |             |        |        pattern doesn't bind `Return`
[00:06:39]      |             |        pattern doesn't bind `Return`
[00:06:39]      |             variable not in all patterns
[00:06:39]      |             variable not in all patterns
[00:06:39] 
[00:06:39] error[E0408]: variable `Return` is not bound in all patterns
[00:06:39]     --> librustc/mir/mod.rs:2754:13
[00:06:39]      |
[00:06:39] 2754 |             Goto { .. }
[00:06:39]      |             ^^^^^^^^^^^ pattern doesn't bind `Return`
[00:06:39] 2755 |             | Resume
[00:06:39]      |               ^^^^^^ pattern doesn't bind `Return`
[00:06:39] 2756 |             | Abort
[00:06:39]      |               ^^^^^ pattern doesn't bind `Return`
[00:06:39] 2757 |             | Return
[00:06:39]      |               ------ variable not in all patterns
[00:06:39] 2758 |             | GeneratorDrop
[00:06:39]      |               ^^^^^^^^^^^^^ pattern doesn't bind `Return`
[00:06:39] 2759 |             | Unreachable
[00:06:39]      |               ^^^^^^^^^^^ pattern doesn't bind `Return`
[00:06:39] 2760 |             | FalseEdges { .. }
[00:06:39]      |               ^^^^^^^^^^^^^^^^^ pattern doesn't bind `Return`
[00:06:39] 2761 |             | FalseUnwind { .. } => false,
[00:06:39]      |               ^^^^^^^^^^^^^^^^^^ pattern doesn't bind `Return`
[00:06:39] 
[00:06:51] error[E0599]: no variant named `Return` found for type `mir::TerminatorKind<'_>` in the current scope
[00:06:51]    --> librustc/ich/impls_mir.rs:172:13
[00:06:51]     |
[00:06:51] 172 |             mir::TerminatorKind::Return |
[00:06:51]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ variant not found in `mir::TerminatorKind<'_>`
[00:06:51]    ::: librustc/mir/mod.rs:851:1
[00:06:51]     |
[00:06:51]     |
[00:06:51] 851 | pub enum TerminatorKind<'tcx> {
[00:06:51]     | ----------------------------- variant `Return` not found here
[00:06:51] 
[00:06:56] error[E0599]: no variant named `Return` found for type `mir::TerminatorKind<'_>` in the current scope
[00:06:56]      |
[00:06:56]      |
[00:06:56] 851  | pub enum TerminatorKind<'tcx> {
[00:06:56]      | ----------------------------- variant `Return` not found here
[00:06:56] ...
[00:06:56] 1218 |             | TerminatorKind::Return
[00:06:56]      |               ^^^^^^^^^^^^^^^^^^^^^^ variant not found in `mir::TerminatorKind<'_>`
[00:06:56] 
[00:06:56] error[E0599]: no variant named `Return` found for type `mir::TerminatorKind<'_>` in the current scope
[00:06:56]      |
[00:06:56]      |
[00:06:56] 851  | pub enum TerminatorKind<'tcx> {
[00:06:56]      | ----------------------------- variant `Return` not found here
[00:06:56] ...
[00:06:56] 1243 |             | TerminatorKind::Return
[00:06:56]      |               ^^^^^^^^^^^^^^^^^^^^^^ variant not found in `mir::TerminatorKind<'_>`
[00:06:56] 
[00:06:57] error[E0599]: no variant named `Return` found for type `mir::TerminatorKind<'_>` in the current scope
[00:06:57]    --> librustc/mir/visit.rs:443:21
[00:06:57] 443 |                     TerminatorKind::Return |
[00:06:57]     |                     ^^^^^^^^^^^^^^^^^^^^^^ variant not found in `mir::TerminatorKind<'_>`
[00:06:57] ...
[00:06:57] ...
[00:06:57] 819 | make_mir_visitor!(Visitor,);
[00:06:57]     | ---------------------------- in this macro invocation
[00:06:57]    ::: librustc/mir/mod.rs:851:1
[00:06:57]     |
[00:06:57]     |
[00:06:57] 851 | pub enum TerminatorKind<'tcx> {
[00:06:57]     | ----------------------------- variant `Return` not found here
[00:06:57] 
[00:06:57] error[E0599]: no variant named `Return` found for type `mir::TerminatorKind<'_>` in the current scope
[00:06:57]    --> librustc/mir/visit.rs:443:21
[00:06:57] 443 |                     TerminatorKind::Return |
[00:06:57]     |                     ^^^^^^^^^^^^^^^^^^^^^^ variant not found in `mir::TerminatorKind<'_>`
[00:06:57] ...
[00:06:57] ...
[00:06:57] 820 | make_mir_visitor!(MutVisitor,mut);
[00:06:57]     | ---------------------------------- in this macro invocation
[00:06:57]    ::: librustc/mir/mod.rs:851:1
[00:06:57]     |
[00:06:57]     |
[00:06:57] 851 | pub enum TerminatorKind<'tcx> {
[00:06:57]     | ----------------------------- variant `Return` not found here
Fri, 20 Jul 2018 10:28:45 GMT
travis_time:end:140165cc:start=1532082525180009113,finish=1532082525299056199,duration=119047086

The command "date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

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
Collaborator

The job x86_64-gnu-llvm-5.0 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:06] ....................................................................................................
[00:46:08] ....................................................................................................
[00:46:11] ....................................................................................................
[00:46:14] ....................................................................................................
[00:46:18] ......................................................F.............................................
[00:46:25] .........................................i..........................................................
[00:46:28] ...............................i....................................................................
[00:46:31] ....................................................................................................
[00:46:35] ....................................................................................................

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
Collaborator

The job x86_64-gnu-llvm-5.0 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:42:12] ....................................................................................................
[00:42:14] ....................................................................................................
[00:42:17] ....................................................................................................
[00:42:20] ....................................................................................................
[00:42:22] ......................................................F.............................................
[00:42:29] .........................................i..........................................................
[00:42:32] ...............................i....................................................................
[00:42:35] ....................................................................................................
[00:42:39] ....................................................................................................
[00:42:39] ....................................................................................................
[00:42:42] ..................................................i.................................................
 -    |     unmatched `}` in format string
[00:42:44] -    |     in this macro invocation
[00:42:44] + LL |     println!("}"); //~ ERROR invalid
[00:42:44] +    |     ^^^^^^^^^^^^^^ unmatched `}` in format string
[00:42:44] 18    |
[00:42:44] 19    = note: if you intended to print `}`, you can escape it using `}}`
[00:42:44] 
[00:42:44] 
[00:42:44] The actual stderr differed from the expected stderr.
[00:42:44] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issue-51848/issue-51848.stderr
[00:42:44] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issue-51848/issue-51848.stderr
[00:42:44] To update references, rerun the tests and pass the `--bless` flag
[00:42:44] To only update this specific test, also pass `--test-args issue-51848.rs`
[00:42:44] error: 1 errors occurred comparing output.
[00:42:44] status: exit code: 1
[00:42:44] status: exit code: 1
[00:42:44] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/issue-51848.rs" "--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/issue-51848/a" "-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/issue-51848/auxiliary" "-A" "unused"
[00:42:44] ------------------------------------------
[00:42:44] 
[00:42:44] ------------------------------------------
[00:42:44] stderr:
[00:42:44] stderr:
[00:42:44] ------------------------------------------
[00:42:44] {"message":"invalid format string: expected `'}'` but string was terminated","code":null,"level":"error","spans":[{"file_name":"<println macros>","byte_start":66,"byte_end":66,"line_start":2,"line_end":2,"column_start":14,"column_end":14,"is_primary":true,"text":[{"text":"print ! ( concat ! ( $ fmt , \"\\n\" ) ) ) ; ( $ fmt : expr , $ ( $ arg : tt ) *","highlight_start":14,"highlight_end":14}],"label":"expected `'}'` in format string","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"<print macros>","byte_start":54,"byte_end":85,"line_start":2,"line_end":2,"column_start":27,"column_end":58,"is_primary":false,"text":[{"text":"$ crate :: io :: _print ( format_args ! ( $ ( $ arg ) * ) ) ) ;","highlight_start":27,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"<println macros>","byte_start":53,"byte_end":90,"line_start":2,"line_end":2,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"print ! ( concat ! ( $ fmt , \"\\n\" ) ) ) ; ( $ fmt : expr , $ ( $ arg : tt ) *","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/checkout/src/test/ui/issue-51848.rs","byte_start":669,"byte_end":683,"line_start":16,"line_end":16,"column_start":9,"column_end":23,"is_primary":false,"text":[{"text":"        println!(\"{\"); //~ ERROR invalid","highlight_start":9,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/checkout/src/test/ui/issue-51848.rs","byte_start":743,"byte_end":763,"line_start":25,"line_end":25,"column_start":5,"column_end":25,"is_primary":false,"text":[{"text":"    macro_with_error!();","highlight_start":5,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"macro_with_error!","def_site_span":{"file_name":"/checkout/src/test/ui/issue-51848.rs","byte_start":616,"byte_end":710,"line_start":14,"line_end":18,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! macro_with_error {","highlight_start":1,"highlight_end":32},{"text":"    ( ) => {","highlight_start":1,"highlight_end":13},{"text":"        println!(\"{\"); //~ ERROR invalid","highlight_start":1,"highlight_end":41},{"text":"    };","highlight_start":1,"highlight_end":7},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"println!","def_site_span":{"file_name":"<println macros>","byte_start":0,"byte_end":195,"line_start":1,"line_end":3,"column_start":1,"column_end":65,"is_primary":false,"text":[{"text":"(  ) => ( print ! ( \"\\n\" ) ) ; ( $ fmt : expr ) => (","highlight_start":1,"highlight_end":53},{"text":"print ! ( concat ! ( $ fmt , \"\\n\" ) ) ) ; ( $ fmt : expr , $ ( $ arg : tt ) *","highlight_start":1,"highlight_end":78},{"text":") => ( print ! ( concat ! ( $ fmt , \"\\n\" ) , $ ( $ arg ) * ) ) ;","highlight_start":1,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":nueplacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"<print macros>","byte_start":54,"byte_end":85,"line_start":2,"line_end":2,"column_start":27,"column_end":58,"is_primary":false,"text":[{"text":"$ crate :: io :: _print ( format_args ! ( $ ( $ arg ) * ) ) ) ;","highlight_start":27,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"<println macros>","byte_start":53,"byte_end":90,"line_start":2,"line_end":2,"column_start":1,"column_end":38,"is_primary":false,"text":[{"text":"print ! ( concat ! ( $ fmt , \"\\n\" ) ) ) ; ( $ fmt : expr , $ ( $ arg : tt ) *","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/checkout/src/test/ui/issue-51848.rs","byte_start":868,"byte_end":882,"line_start":28,"line_end":28,"column_start":5,"column_end":19,"is_primary":false,"text":[{"text":"    println!(\"}\"); //~ ERROR invalid","highlight_start":5,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"println!","def_site_span":{"file_name":"<println macros>","byte_start":0,"byte_end":195,"line_start":1,"line_end":3,"column_start":1,"column_end":65,"is_primary":false,"text":[{"text":"(  ) => ( print ! ( \"\\n\" ) ) ; ( $ fmt : expr ) => (","highlight_start":1,"highlight_end":53},{"text":"print ! ( concat ! ( $ fmt , \"\\n\" ) ) ) ; ( $ fmt : expr , $ ( $ arg : tt ) *","highlight_start":1,"highlight_end":78},{"text":") => ( print ! ( concat ! ( $ fmt , \"\\n\" ) , $ ( $ arg ) * ) ) ;","highlight_start":1,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"print!","def_site_span":{"file_name":"<print macros>","byte_start":0,"byte_end":91,"line_start":1,"line_end":2,"column_start":1,"column_end":64,"is_primary":false,"text":[{"text":"( $ ( $ arg : tt ) * ) => (","highlight_start":1,"highlight_end":28},{"text":"$ crate :: io :: _print ( format_args ! ( $ ( $ arg ) * ) ) ) ;","highlight_start":1,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"format_args!","def_site_span":null}}],"children":[{"message":"if you intended to print `}`, you can escape it using `}}`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error: invalid format string: unmatched `}` found\n  --> /checkout/src/test/ui/issue-51848.rs:28:5\n   |\nLL |     println!(\"}\"); //~ ERROR invalid\n   |     ^^^^^^^^^^^^^^ unmatched `}` in format string\n   |\n   = note: if you intended to print `}`, you can escape it using `}}`\n   = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)\n\n"}
[00:42:44] {"message":"aborting due to 2 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 2 previous errors\n\n"}
[00:42:44] ------------------------------------------
[00:42:44] 
[00:42:44] thread '[ui] ui/issue-51848.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3137:9
[00:42:44] note: Run with `RUST_BACKTRACE=1` for a backtrace.
---
[00:42:44] 
[00:42:44] thread 'main' panicked at 'Some tests failed', tools/compiletest/src/main.rs:498:22
[00:42:44] 
[00:42:44] 
[00:42:44] 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-5.0/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" "5.0.0\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:42:44] 
[00:42:44] 
[00:42:44] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[00:42:44] Build completed unsuccessfully in 0:01:34
[00:42:44] Build completed unsuccessfully in 0:01:34
[00:42:44] make: *** [check] Error 1
[00:42:44] Makefile:58: recipe for target 'check' failed

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:00ba6ecf
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

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)

@fpoli
Copy link
Contributor Author

fpoli commented Jul 20, 2018

Done. Existing //~ ERROR annotations stay where they are, so it's not a regression. For errors generated in external macros, it's now possible to write an //~ ERROR annotation that expect them.

Overall, I think that the tests are strictly better.

@petrochenkov
Copy link
Contributor

This is great, thanks!
@bors r+

@bors
Copy link
Contributor

bors commented Jul 20, 2018

📌 Commit c473b92adcb3587aa992118557b16667069e37e2 has been approved by petrochenkov

@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 Jul 20, 2018
@bors
Copy link
Contributor

bors commented Jul 20, 2018

⌛ Testing commit c473b92adcb3587aa992118557b16667069e37e2 with merge 65613dca98c352edaa15758d6010ea24c4f7e25c...

@bors
Copy link
Contributor

bors commented Jul 20, 2018

💔 Test failed - status-appveyor

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jul 20, 2018
@kennytm kennytm added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 20, 2018
@kennytm
Copy link
Member

kennytm commented Jul 20, 2018

These UI tests failed (seeing unexpected errors)
failures:
    [ui] ui\catch-block-type-error.rs
    [ui] ui\deref-suggestion.rs
    [ui] ui\did_you_mean\recursion_limit_macro.rs
    [ui] ui\feature-gate-allow-internal-unsafe-nested-macro.rs
    [ui] ui\feature-gate-allow-internal-unstable-nested-macro.rs
    [ui] ui\hygiene\assoc_item_ctxt.rs
    [ui] ui\hygiene\fields-definition.rs
    [ui] ui\hygiene\fields-move.rs
    [ui] ui\hygiene\fields.rs
    [ui] ui\hygiene\generate-mod.rs
    [ui] ui\hygiene\globs.rs
    [ui] ui\hygiene\impl_items.rs
    [ui] ui\hygiene\no_implicit_prelude.rs
    [ui] ui\hygiene\trait_items.rs
    [ui] ui\imports\shadow_builtin_macros.rs
    [ui] ui\issue-15167.rs
    [ui] ui\issue-16098.rs
    [ui] ui\issue-21160.rs
    [ui] ui\issue-25385.rs
    [ui] ui\issue-25386.rs
    [ui] ui\issue-25793.rs
    [ui] ui\issue-26093.rs
    [ui] ui\issue-26094.rs
    [ui] ui\issue-26237.rs
    [ui] ui\issue-29084.rs
    [ui] ui\issue-31011.rs
    [ui] ui\issue-32655.rs
    [ui] ui\issue-32782.rs
    [ui] ui\issue-32950.rs
    [ui] ui\issue-42954.rs
    [ui] ui\issue-51116.rs
    [ui] ui\issue-51848.rs
    [ui] ui\issue-6596-1.rs
    [ui] ui\issue-6596-2.rs
    [ui] ui\lint\issue-47775-nested-macro-unnecessary-parens-arg.rs
    [ui] ui\lint\lints-in-foreign-macros.rs
    [ui] ui\liveness-return-last-stmt-semi.rs
    [ui] ui\macro-context.rs
    [ui] ui\macro-shadowing.rs
    [ui] ui\macro_backtrace\main.rs
    [ui] ui\macros\macro-backtrace-invalid-internals.rs
    [ui] ui\macros\macro-backtrace-nested.rs
    [ui] ui\macros\macro-backtrace-println.rs
    [ui] ui\macros\nonterminal-matching.rs
    [ui] ui\macros\span-covering-argument-1.rs
    [ui] ui\macros\trace_faulty_macros.rs
    [ui] ui\mismatched_types\issue-26480.rs
    [ui] ui\span\macro-span-replacement.rs
    [ui] ui\token\macro-incomplete-parse.rs
    [ui] ui\tuple-struct-fields\test2.rs
    [ui] ui\tuple-struct-fields\test3.rs
    [ui] ui\union\union-derive-eq.rs
test result: FAILED. 2068 passed; 52 failed; 21 ignored; 0 measured; 0 filtered out

@fpoli
Copy link
Contributor Author

fpoli commented Jul 21, 2018 via email

@petrochenkov
Copy link
Contributor

Travis passed, so this seems to be a Windows-specific error.
Perhaps self.file_name == file_name fails due to / vs \ mismatch or something.

@bors
Copy link
Contributor

bors commented Jul 22, 2018

☔ The latest upstream changes (presumably #52394) made this pull request unmergeable. Please resolve the merge conflicts.

@fpoli
Copy link
Contributor Author

fpoli commented Jul 23, 2018

I attempted a fix for the failing tests on windows, but I'm not super confident because I don't have a windows machine on which to run the tests. I'm waiting for my own execution of the tests on AppVeyor.

@fpoli
Copy link
Contributor Author

fpoli commented Jul 23, 2018

No way, my AppVeyor timed out after 1h...

@alexcrichton
Copy link
Member

@bors: r=petrochenkov

Ok let's see how it fares!

@bors
Copy link
Contributor

bors commented Jul 23, 2018

📌 Commit 8ec9d72 has been approved by petrochenkov

@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-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Jul 23, 2018
@bors
Copy link
Contributor

bors commented Jul 23, 2018

⌛ Testing commit 8ec9d72 with merge 6a1c063...

bors added a commit that referenced this pull request Jul 23, 2018
Match errors using the callsite of macro expansions

Fix for issue #51848
@bors
Copy link
Contributor

bors commented Jul 23, 2018

☀️ Test successful - status-appveyor, status-travis
Approved by: petrochenkov
Pushing 6a1c063 to master...

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.

8 participants