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

Deduplicate mismatched delimiter errors #57944

Merged
merged 11 commits into from Feb 9, 2019

Conversation

Projects
None yet
7 participants
@estebank
Copy link
Contributor

estebank commented Jan 28, 2019

Delay unmatched delimiter errors until after the parser has run to deduplicate them when parsing and attempt recovering intelligently.

Second attempt at #54029, follow up to #53949. Fix #31528.

@rust-highfive

This comment has been minimized.

Copy link
Collaborator

rust-highfive commented Jan 28, 2019

r? @nikomatsakis

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

Show resolved Hide resolved src/librustc_metadata/cstore_impl.rs Outdated
Show resolved Hide resolved src/libsyntax/parse/parser.rs Outdated
Show resolved Hide resolved src/libsyntax/parse/token.rs Outdated
Show resolved Hide resolved src/libsyntax/parse/token.rs Outdated
Show resolved Hide resolved src/libsyntax/parse/token.rs Outdated
Show resolved Hide resolved src/test/ui/resolve/token-error-correct.stderr Outdated
Show resolved Hide resolved src/libsyntax_ext/proc_macro_server.rs Outdated
@rust-highfive

This comment was marked as outdated.

Copy link
Collaborator

rust-highfive commented Jan 28, 2019

The job x86_64-gnu-llvm-6.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:end:050da86c:start=1548652237282713225,finish=1548652338972625734,duration=101689912509
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---
[00:06:18] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "-j" "4" "--release" "--locked" "--color" "always" "--features" "" "--manifest-path" "/checkout/src/rustc/Cargo.toml" "--message-format" "json"
[00:06:18] expected success, got: exit code: 101
[00:06:18] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap build
[00:06:18] Build completed unsuccessfully in 0:02:25
[00:06:18] make: *** [all] Error 1
[00:06:18] Makefile:18: recipe for target 'all' failed
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:219da02e
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Mon Jan 28 05:18:46 UTC 2019
---
199364 ./obj/build/cache/2019-01-18
156148 ./src/llvm-project/clang
154524 ./obj/build/bootstrap/debug/incremental
139756 ./obj/build/bootstrap/debug/incremental/bootstrap-2ahv8almm435e
139752 ./obj/build/bootstrap/debug/incremental/bootstrap-2ahv8almm435e/s-f8y94qxdo8-1he1yav-2gaplnmorxs2x
108528 ./src/llvm-project/lldb
97552 ./src/llvm-project/clang/test
89964 ./src/llvm-emscripten/test/CodeGen
77776 ./obj/build/x86_64-unknown-linux-gnu/stage0-rustc
---
travis_time:end:02bfa6a6:start=1548652726990423493,finish=1548652726995359165,duration=4935672
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:20e40a3a
$ 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 --batch -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:25b4fe00
travis_time:start:25b4fe00
$ 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:023ad098
$ 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)

@estebank estebank force-pushed the estebank:unclosed-delim-the-quickening branch from d31c1e1 to 0880f43 Feb 5, 2019

@rust-highfive

This comment was marked as resolved.

Copy link
Collaborator

rust-highfive commented Feb 5, 2019

The job x86_64-gnu-llvm-6.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:end:047249a5:start=1549360058539345807,finish=1549360060908042248,duration=2368696441
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---

[00:04:15] travis_fold:start:tidy
travis_time:start:tidy
tidy check
[00:04:15] tidy error: /checkout/src/libsyntax/parse/parser.rs: missing trailing newline
[00:04:17] some tidy checks failed
[00:04:17] 
[00:04:17] 
[00:04:17] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor" "--quiet"
[00:04:17] 
[00:04:17] 
[00:04:17] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
[00:04:17] Build completed unsuccessfully in 0:00:49
[00:04:17] Build completed unsuccessfully in 0:00:49
[00:04:17] Makefile:68: recipe for target 'tidy' failed
[00:04:17] make: *** [tidy] Error 1
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0e8b18cf
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Tue Feb  5 09:52:08 UTC 2019
---
travis_time:end:29f9efdc:start=1549360329540843109,finish=1549360329546469955,duration=5626846
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:0dd70849
$ 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 --batch -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:20fb8dd7
travis_time:start:20fb8dd7
$ 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:0258ae5c
$ dmesg | grep -i kill
$ dmesg | grep -i kill
[    1.134257] misc rfkill: hash matches
travis_fold:end:after_failure.6

Done. Your build exited with 1.

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

This comment was marked as resolved.

Copy link
Collaborator

rust-highfive commented Feb 5, 2019

The job x86_64-gnu-llvm-6.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:end:008015d0:start=1549362469777406613,finish=1549362474689306942,duration=4911900329
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---

[00:11:02] travis_fold:start:tidy
travis_time:start:tidy
tidy check
[00:11:03] tidy error: /checkout/src/test/ui/resolve/token-error-correct.rs: missing trailing newline
[00:11:04] some tidy checks failed
[00:11:04] 
[00:11:04] 
[00:11:04] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor" "--quiet"
[00:11:04] 
[00:11:04] 
[00:11:04] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
[00:11:04] Build completed unsuccessfully in 0:00:48
[00:11:04] Build completed unsuccessfully in 0:00:48
[00:11:04] make: *** [tidy] Error 1
[00:11:04] Makefile:68: recipe for target 'tidy' failed
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:06c8e4d4
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Tue Feb  5 10:39:09 UTC 2019
---
travis_time:end:0f627c70:start=1549363150706931031,finish=1549363150711843954,duration=4912923
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:0009fbd0
$ 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 --batch -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:094a4276
travis_time:start:094a4276
$ 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:006d7a53
$ 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)

@estebank estebank force-pushed the estebank:unclosed-delim-the-quickening branch from b26d032 to 40ad7c3 Feb 5, 2019

@rust-highfive

This comment was marked as resolved.

Copy link
Collaborator

rust-highfive commented Feb 5, 2019

The job x86_64-gnu-llvm-6.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:end:0191e519:start=1549365826433048810,finish=1549365828870880530,duration=2437831720
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---
[01:00:04] .................................................................................................... 2500/5365
[01:00:08] .................................................................................................... 2600/5365
[01:00:12] .................................................................................................... 2700/5365
[01:00:16] .................................................................................................... 2800/5365
[01:00:20] .............................................................F...................................... 2900/5365
[01:00:23] ..........F......................................................................................... 3000/5365
[01:00:30] .................................................................................................... 3200/5365
[01:00:34] ......................i............................................................................. 3300/5365
[01:00:37] ........................................................................................ii...i..ii.. 3400/5365
[01:00:41] .................................................................................................... 3500/5365
---
[01:01:49] diff of stderr:
[01:01:49] 
[01:01:49] 90 LL |       m,
[01:01:49] 91    |  ______-
[01:01:49] 92 LL | |     a}; //~ ERROR `a` is defined multiple times
[01:01:49] +    | |     ^
[01:01:49] 94    | |     |
[01:01:49] 94    | |     |
[01:01:49] 95    | |_____`a` reimported here
[01:01:49] 96    |       help: remove unnecessary import
[01:01:49] 
[01:01:49] The actual stderr differed from the expected stderr.
[01:01:49] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-52891/issue-52891.stderr
[01:01:49] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-52891/issue-52891.stderr
[01:01:49] To update references, rerun the tests and pass the `--bless` flag
[01:01:49] To only update this specific test, also pass `--test-args issues/issue-52891.rs`
[01:01:49] error: 1 errors occurred comparing output.
[01:01:49] status: exit code: 1
[01:01:49] status: exit code: 1
[01:01:49] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/issues/issue-52891.rs" "-Zthreads=1" "--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/issues/issue-52891/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/issues/issue-52891/auxiliary" "-A" "unused"
[01:01:49] ------------------------------------------
[01:01:49] 
[01:01:49] ------------------------------------------
[01:01:49] stderr:
[01:01:49] stderr:
[01:01:49] ------------------------------------------
[01:01:49] {"message":"the name `a` is defined multiple times","code":{"code":"E0252","explanation":"\nTwo items of the same name cannot be imported without rebinding one of the\nitems under a new local name.\n\nErroneous code example:\n\n```compile_fail,E0252\nuse foo::baz;\nuse bar::baz; // error, do `use bar::baz as quux` instead\n\nfn main() {}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n\nYou can use aliases in order to fix this error. Example:\n\n```\nuse foo::baz as foo_baz;\nuse bar::baz; // ok!\n\nfn main() {}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n\nOr you can reference the item with its parent:\n\n```\nuse bar::baz;\n\nfn main() {\n    let x = foo::baz; // ok!\n}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":212,"byte_end":226,"line_start":12,"line_end":12,"column_start":5,"column_end":19,"is_primary":true,"text":[{"text":"use issue_52891::a; //~ ERROR `a` is defined multiple times","highlight_start":5,"highlight_end":19}],"label":"`a` reimported here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":192,"byte_end":206,"line_start":11,"line_end":11,"column_start":5,"column_end":19,"is_primary":false,"text":[{"text":"use issue_52891::a;","highlight_start":5,"highlight_end":19}],"label":"previous import of the module `a` here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`a` must be defined only once in the type namespace of this module","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove unnecessary import","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":208,"byte_end":227,"line_start":12,"line_end":12,"column_start":1,"column_end":20,"is_primary":true,"text":[{"text":"use issue_52891::a; //~ ERROR `a` is defined multiple times","highlight_start":1,"highlight_end":20}],"label":null,"suggested_replacement":"","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0252]: the name `a` is defined multiple times\n  --> /checkout/src/test/ui/issues/issue-52891.rs:12:5\n   |\nLL | use issue_52891::a;\n   |     -------------- previous import of the module `a` here\nLL | use issue_52891::a; //~ ERROR `a` is defined multiple times\n   | ----^^^^^^^^^^^^^^-\n   | |   |\n   | |   `a` reimported here\n   | help: remove unnecessary import\n   |\n   = note: `a` must be defined only once in the type namespace of this module\n\n"}
[01:01:49] {"message":"the name `a` is defined multiple times","code":{"code":"E0252","explanation":"\nTwo items of the same name cannot be imported without rebinding one of the\nitems under a new local name.\n\nErroneous code example:\n\n```compile_fail,E0252\nuse foo::baz;\nuse bar::baz; // error, do `use bar::baz as quux` instead\n\nfn main() {}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n\nYou can use aliases in order to fix this error. Example:\n\n```\nuse foo::baz as foo_baz;\nuse bar::baz; // ok!\n\nfn main() {}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n\nOr you can reference the item with its parent:\n\n```\nuse bar::baz;\n\nfn main() {\n    let x = foo::baz; // ok!\n}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":287,"byte_end":288,"line_start":14,"line_end":14,"column_start":19,"column_end":20,"is_primary":true,"text":[{"text":"use issue_52891::{a, b, c}; //~ ERROR `a` is defined multiple times","highlight_start":19,"highlight_end":20}],"label":"`a` reimported here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":192,"byte_end":206,"line_start":11,"line_end":11,"column_start":5,"column_end":19,"is_primary":false,"text":[{"text":"use issue_52891::a;","highlight_start":5,"highlight_end":19}],"label":"previous import of the module `a` here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`a` must be defined only once in the type namespace of this module","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove unnecessary import","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":287,"byte_end":290,"line_start":14,"line_end":14,"column_start":19,"column_end":22,"is_primary":true,"text":[{"text":"use issue_52891::{a, b, c}; //~ ERROR `a` is defined multiple times","highlight_start":19,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0252]: the name `a` is defined multiple times\n  --> /checkout/src/test/ui/issues/issue-52891.rs:14:19\n   |\nLL | use issue_52891::a;\n   |     -------------- previous import of the module `a` here\n...\nLL | use issue_52891::{a, b, c}; //~ ERROR `a` is defined multiple times\n   |                   ^--\n   |                   |\n   |                   `a` reimported here\n   |                   help: remove unnecessary import\n   |\n   = note: `a` must be defined only once in the type namespace of this module\n\n"}
[01:01:49] {"message":"the name `a` is defined multiple times","code":{"code":"E0252","explanation":"\nTwo items of the same name cannot be imported without rebinding one of the\nitems under a new local name.\n\nErroneous code example:\n\n```compile_fail,E0252\nuse foo::baz;\nuse bar::baz; // error, do `use bar::baz as quux` instead\n\nfn main() {}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n\nYou can use aliases in order to fix this error. Example:\n\n```\nuse foo::baz as foo_baz;\nuse bar::baz; // ok!\n\nfn main() {}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n\nOr you can reference the item with its parent:\n\n```\nuse bar::baz;\n\nfn main() {\n    let x = foo::baz; // ok!\n}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":358,"byte_end":359,"line_start":15,"line_end":15,"column_start":22,"column_end":23,"is_primary":true,"text":[{"text":"use issue_52891::{d, a, e}; //~ ERROR `a` is defined multiple times","highlight_start":22,"highlight_end":23}],"label":"`a` reimported here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":192,"byte_end":206,"line_start":11,"line_end":11,"column_start":5,"column_end":19,"is_primary":false,"text":[{"text":"use issue_52891::a;","highlight_start":5,"highlight_end":19}],"label":"previous import of the module `a` here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`a` must be defined only once in the type namespace of this module","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove unnecessary import","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":358,"byte_end":361,"line_start":15,"line_end":15,"column_start":22,"column_end":25,"is_primary":true,"text":[{"text":"use issue_52891::{d, a, e}; //~ ERROR `a` is defined multiple times","highlight_start":22,"highlight_end":25}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0252]: the name `a` is defined multiple times\n  --> /checkout/src/test/ui/issues/issue-52891.rs:15:22\n   |\nLL | use issue_52891::a;\n   |     -------------- previous import of the module `a` here\n...\nLL | use issue_52891::{d, a, e}; //~ ERROR `a` is defined multiple times\n   |                      ^--\n   |                      |\n   |                      `a` reimported here\n   |                      help: remove unnecessary import\n   |\n   = note: `a` must be defined only once in the type namespace of this module\n\n"}
[01:01:49] {"message":"the name `a` is defined multiple times","code":{"code":"E0252","explanation":"\nTwo items of the same name cannot be imported without rebinding one of the\nitems under a new local name.\n\nErroneous code example:\n\n```compile_fail,E0252\nuse foo::baz;\nuse bar::baz; // error, do `use bar::baz as quux` instead\n\nfn main() {}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n\nYou can use aliases in order to fix this error. Example:\n\n```\nuse foo::baz as foo_baz;\nuse bar::baz; // ok!\n\nfn main() {}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n\nOr you can reference the item with its parent:\n\n```\nuse bar::baz;\n\nfn main() {\n    let x = foo::baz; // ok!\n}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":429,"byte_end":430,"line_start":16,"line_end":16,"column_start":25,"column_end":26,"is_primary":true,"text":[{"text":"use issue_52891::{f, g, a}; //~ ERROR `a` is defined multiple times","highlight_start":25,"highlight_end":26}],"label":"`a` reimported here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":192,"byte_end":206,"line_start":11,"line_end":11,"column_start":5,"column_end":19,"is_primary":false,"text":[{"text":"use issue_52891::a;","highlight_start":5,"highlight_end":19}],"label":"previous import of the module `a` here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`a` must be defined only once in the type namespace of this module","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove unnecessary import","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":427,"byte_end":430,"line_start":16,"line_end":16,"column_start":23,"column_end":26,"is_primary":true,"text":[{"text":"use issue_52891::{f, g, a}; //~ ERROR `a` is defined multiple times","highlight_start":23,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0252]: the name `a` is defined multiple times\n  --> /checkout/src/test/ui/issues/issue-52891.rs:16:25\n   |\nLL | use issue_52891::a;\n   |     -------------- previous import of the module `a` here\n...\nLL | use issue_52891::{f, g, a}; //~ ERROR `a` is defined multiple times\n   |                       --^\n   |                       | |\n   |                       | `a` reimported here\n   |                       help: remove unnecessary import\n   |\n   = note: `a` must be defined only once in the type namespace of this module\n\n"}
[01:01:49] {"message":"the name `a` is defined multiple times","code":{"code":"E0252","explanation":"\nTwo items of the same name cannot be imported without rebinding one of the\nitems under a new local name.\n\nErroneous code example:\n\n```compile_fail,E0252\nuse foo::baz;\nuse bar::baz; // error, do `use bar::baz as quux` instead\n\nfn main() {}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n\nYou can use aliases in order to fix this error. Example:\n\n```\nuse foo::baz as foo_baz;\nuse bar::baz; // ok!\n\nfn main() {}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n\nOr you can reference the item with its parent:\n\n```\nuse bar::baz;\n\nfn main() {\n    let x = foo::baz; // ok!\n}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":492,"byte_end":493,"line_start":18,"line_end":18,"column_start":19,"column_end":20,"is_primary":true,"text":[{"text":"use issue_52891::{a, //~ ERROR `a` is defined multiple times","highlight_start":19,"highlight_end":20}],"label":"`a` reimported here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":192,"byte_end":206,"line_start":11,"line_end":11,"column_start":5,"column_end":19,"is_primary":false,"text":[{"text":"use issue_52891::a;","highlight_start":5,"highlight_end":19}],"label":"previous import of the module `a` here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`a` must be defined only once in the type namespace of this module","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove unnecessary import","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":492,"byte_end":495,"line_start":18,"line_end":18,"column_start":19,"column_end":22,"is_primary":true,"text":[{"text":"use issue_52891::{a, //~ ERROR `a` is defined multiple times","highlight_start":19,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0252]: the name `a` is defined multiple times\n  --> /checkout/src/test/ui/issues/issue-52891.rs:18:19\n   |\nLL | use issue_52891::a;\n   |     -------------- previous import of the module `a` here\n...\nLL | use issue_52891::{a, //~ ERROR `a` is defined multiple times\n   |                   ^--\n   |                   |\n   |                   `a` reimported here\n   |                   help: remove unnecessary import\n   |\n   = note: `a` must be defined only once in the type namespace of this module\n\n"}
[01:01:49] {"message":"the name `a` is defined multiple times","code":{"code":"E0252","explanation":"\nTwo items of the same name cannot be imported without rebinding one of the\nitems under a new local name.\n\nErroneous code example:\n\n```compile_fail,E0252\nuse foo::baz;\nuse bar::baz; // error, do `use bar::baz as quux` instead\n\nfn main() {}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n\nYou can use aliases in order to fix this error. Example:\n\n```\nuse foo::baz as foo_baz;\nuse bar::baz; // ok!\n\nfn main() {}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n\nOr you can reference the item with its parent:\n\n```\nuse bar::baz;\n\nfn main() {\n    let x = foo::baz; // ok!\n}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":575,"byte_end":576,"line_start":22,"line_end":22,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":"    a, //~ ERROR `a` is defined multiple times","highlight_start":5,"highlight_end":6}],"label":"`a` reimported here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":192,"byte_end":206,"line_start":11,"line_end":11,"column_start":5,"column_end":19,"is_primary":false,"text":[{"text":"use issue_52891::a;","highlight_start":5,"highlight_end":19}],"label":"previous import of the module `a` here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`a` must be defined only once in the type namespace of this module","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove unnecessary import","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":575,"byte_end":578,"line_start":22,"line_end":22,"column_start":5,"column_end":8,"is_primary":true,"text":[{"text":"    a, //~ ERROR `a` is defined multiple times","highlight_start":5,"highlight_end":8}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0252]: the name `a` is defined multiple times\n  --> /checkout/src/test/ui/issues/issue-52891.rs:22:5\n   |\nLL | use issue_52891::a;\n   |     -------------- previous import of the module `a` here\n...\nLL |     a, //~ ERROR `a` is defined multiple times\n   |     ^--\n   |     |\n   |     `a` reimported here\n   |     help: remove unnecessary import\n   |\n   = note: `a` must be defined only once in the type namespace of this module\n\n"}
[01:01:49] {"message":"the name `a` is defined multiple times","code":{"code":"E0252","explanation":"\nTwo items of the same name cannot be imported without rebinding one of the\nitems under a new local name.\n\nErroneous code example:\n\n```compile_fail,E0252\nuse foo::baz;\nuse bar::baz; // error, do `use bar::baz as quux` instead\n\nfn main() {}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n\nYou can use aliases in order to fix this error. Example:\n\n```\nuse foo::baz as foo_baz;\nuse bar::baz; // ok!\n\nfn main() {}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n\nOr you can reference the item with its parent:\n\n```\nuse bar::baz;\n\nfn main() {\n    let x = foo::baz; // ok!\n}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":658,"byte_end":659,"line_start":26,"line_end":26,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":"    a}; //~ ERROR `a` is defined multiple times","highlight_start":5,"highlight_end":6}],"label":"`a` reimported here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":192,"byte_end":206,"line_start":11,"line_end":11,"column_start":5,"column_end":19,"is_primary":false,"text":[{"text":"use issue_52891::a;","highlight_start":5,"highlight_end":19}],"label":"previous import of the module `a` here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`a` must be defined only once in the type namespace of this module","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove unnecessary import","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":652,"byte_end":659,"line_start":25,"line_end":26,"column_start":6,"column_end":6,"is_primary":true,"text":[{"text":"    m,","highlight_start":6,"highlight_end":7},{"text":"    a}; //~ ERROR `a` is defined multiple times","highlight_start":1,"highlight_end":6}],"label":null,"suggested_replacement":"","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0252]: the name `a` is defined multiple times\n  --> /checkout/src/test/ui/issues/issue-52891.rs:26:5\n   |\nLL |   use issue_52891::a;\n   |       -------------- previous import of the module `a` here\n...\nLL |       m,\n   |  ______-\nLL | |     a}; //~ ERROR `a` is defined multiple times\n   | |     ^\n   | |     |\n   | |_____`a` reimported here\n   |       help: remove unnecessary import\n   |\n   = note: `a` must be defined only once in the type namespace of this module\n\n"}
[01:01:49] {"message":"the name `inner` is defined multiple times","code":{"code":"E0252","explanation":"\nTwo items of the same name cannot be imported without rebinding one of the\nitems under a new local name.\n\nErroneous code example:\n\n```compile_fail,E0252\nuse foo::baz;\nuse bar::baz; // error, do `use bar::baz as quux` instead\n\nfn main() {}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n\nYou can use aliases in order to fix this error. Example:\n\n```\nuse foo::baz as foo_baz;\nuse bar::baz; // ok!\n\nfn main() {}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n\nOr you can reference the item with its parent:\n\n```\nuse bar::baz;\n\nfn main() {\n    let x = foo::baz; // ok!\n}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":734,"byte_end":755,"line_start":29,"line_end":29,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":"use issue_52891::b::inner; //~ ERROR `inner` is defined multiple times","highlight_start":5,"highlight_end":26}],"label":"`inner` reimported here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":707,"byte_end":728,"line_start":28,"line_end":28,"column_start":5,"column_end":26,"is_primary":false,"text":[{"text":"use issue_52891::a::inner;","highlight_start":5,"highlight_end":26}],"label":"previous import of the module `inner` here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`inner` must be defined only once in the type namespace of this module","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"you can use `as` to change the binding name of the import","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":734,"byte_end":755,"line_start":29,"line_end":29,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":"use issue_52891::b::inner; //~ ERROR `inner` is defined multiple times","highlight_start":5,"highlight_end":26}],"label":null,"suggested_replacement":"issue_52891::b::inner as other_inner","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0252]: the name `inner` is defined multiple times\n  --> /checkout/src/test/ui/issues/issue-52891.rs:29:5\n   |\nLL | use issue_52891::a::inner;\n   |     --------------------- previous import of the module `inner` here\nLL | use issue_52891::b::inner; //~ ERROR `inner` is defined multiple times\n   |     ^^^^^^^^^^^^^^^^^^^^^ `inner` reimported here\n   |\n   = note: `inner` must be defined only once in the type namespace of this module\nhelp: you can use `as` to change the binding name of the import\n   |\nLL | use issue_52891::b::inner as other_inner; //~ ERROR `inner` is defined multiple times\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[01:01:49] {"message":"the name `issue_52891` is defined multiple times","code":{"code":"E0254","explanation":"\nAttempt was made to import an item whereas an extern crate with this name has\nalready been imported.\n\nErroneous code example:\n\n```compile_fail,E0254\nextern crate core;\n\nmod foo {\n    pub trait core {\n        fn do_something();\n    }\n}\n\nuse foo::core;  // error: an extern crate named `core` has already\n                //        been imported in this module\n\nfn main() {}\n```\n\nTo fix this issue, you have to rename at least one of the two imports.\nExample:\n\n```\nextern crate core as libcore; // ok!\n\nmod foo {\n    pub trait core {\n        fn do_something();\n    }\n}\n\nuse foo::core;\n\nfn main() {}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":820,"byte_end":824,"line_start":31,"line_end":31,"column_start":19,"column_end":23,"is_primary":true,"text":[{"text":"use issue_52891::{self};","highlight_start":19,"highlight_end":23}],"label":"`issue_52891` reimported here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":65,"byte_end":90,"line_start":6,"line_end":6,"column_start":1,"column_end":26,"is_primary":false,"text":[{"text":"extern crate issue_52891;","highlight_start":1,"highlight_end":26}],"label":"previous import of the extern crate `issue_52891` here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`issue_52891` must be defined only once in the type namespace of this module","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove unnecessary import","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":802,"byte_end":826,"line_start":31,"line_end":31,"column_start":1,"column_end":25,"is_primary":true,"text":[{"text":"use issue_52891::{self};","highlight_start":1,"highlight_end":25}],"label":null,"suggested_replacement":"","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0254]: the name `issue_52891` is defined multiple times\n  --> /checkout/src/test/ui/issues/issue-52891.rs:31:19\n   |\nLL | extern crate issue_52891;\n   | ------------------------- previous import of the extern crate `issue_52891` here\n...\nLL | use issue_52891::{self};\n   | ------------------^^^^--\n   | |                 |\n   | |                 `issue_52891` reimported here\n   | help: remove unnecessary import\n   |\n   = note: `issue_52891` must be defined only once in the type namespace of this module\n\n"}
[01:01:49] {"message":"the name `n` is defined multiple times","code":{"code":"E0252","explanation":"\nTwo items of the same name cannot be imported without rebinding one of the\nitems under a new local name.\n\nErroneous code example:\n\n```compile_fail,E0252\nuse foo::baz;\nuse bar::baz; // error, do `use bar::baz as quux` instead\n\nfn main() {}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n\nYou can use aliases in order to fix this error. Example:\n\n```\nuse foo::baz as foo_baz;\nuse bar::baz; // ok!\n\nfn main() {}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n\nOr you can reference the item with its parent:\n\n```\nuse bar::baz;\n\nfn main() {\n    let x = foo::baz; // ok!\n}\n\nmod foo {\n    pub struct baz;\n}\n\nmod bar {\n    pub mod baz {}\n}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":916,"byte_end":930,"line_start":36,"line_end":36,"column_start":5,"column_end":19,"is_primary":true,"text":[{"text":"use issue_52891::n; //~ ERROR `n` is defined multiple times","highlight_start":5,"highlight_end":19}],"label":"`n` reimported here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":883,"byte_end":897,"line_start":34,"line_end":34,"column_start":5,"column_end":19,"is_primary":false,"text":[{"text":"use issue_52891::n;","highlight_start":5,"highlight_end":19}],"label":"previous import of the module `n` here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`n` must be defined only once in the type namespace of this module","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove unnecessary import","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-52891.rs","byte_start":879,"byte_end":898,"line_start":34,"line_end":34,"column_start":1,"column_end":20,"is_primary":true,"text":[{"text":"use issue_52891::n;","highlight_start":1,"highlight_end":20}],"label":null,"suggested_replacement":"","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0252]: the name `n` is defined multiple times\n  --> /checkout/src/test/ui/issues/issue-52891.rs:36:5\n   |\nLL | use issue_52891::n;\n   | -------------------\n   | |   |\n   | |   previous import of the module `n` here\n   | help: remove unnecessary import\nLL | #[macro_use]\nLL | use issue_52891::n; //~ ERROR `n` is defined multiple times\n   |     ^^^^^^^^^^^^^^ `n` reimported here\n   |\n   = note: `n` must be defined only once in the type namespace of this module\n\n"}
[01:01:49] {"message":"aborting due to 10 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 10 previous errors\n\n"}
[01:01:49] {"message":"Some errors occurred: E0252, E0254.","code":null,"level":"","spans":[],"children":[],"rendered":"Some errors occurred: E0252, E0254.\n"}
[01:01:49] 
[01:01:49] ------------------------------------------
[01:01:49] 
[01:01:49] thread '[ui] ui/issues/issue-52891.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:01:49] thread '[ui] ui/issues/issue-52891.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
[01:01:49] note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
[01:01:49] 
[01:01:49] ---- [ui] ui/issues/issue-57819.rs stdout ----
[01:01:49] diff of stderr:
[01:01:49] 
[01:01:49] 14   --> $DIR/issue-57819.rs:25:10
[01:01:49] 15    |
[01:01:49] 16 LL |     bar::<<<T as Foo>::Output>();
[01:01:49] -    |          ^ help: remove extra angle bracket
[01:01:49] +    |          ^ help: maybe remove extra angle bracket
[01:01:49] 19 error: unmatched angle brackets
[01:01:49] 20   --> $DIR/issue-57819.rs:34:48
[01:01:49] 
[01:01:49] 38   --> $DIR/issue-57819.rs:43:48
[01:01:49] 38   --> $DIR/issue-57819.rs:43:48
[01:01:49] 39    |
[01:01:49] 40 LL |     let _ = vec![1, 2, 3].into_iter().collect::<<Vec<usize>>();
[01:01:49] -    |                                                ^ help: remove extra angle bracket
[01:01:49] +    |                                                ^ help: maybe remove extra angle bracket
[01:01:49] 43 error: aborting due to 7 previous errors
[01:01:49] 44 
[01:01:49] 
[01:01:49] 
[01:01:49] 
[01:01:49] The actual stderr differed from the expected stderr.
[01:01:49] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-57819/issue-57819.stderr
[01:01:49] To update references, rerun the tests and pass the `--bless` flag
[01:01:49] To only update this specific test, also pass `--test-args issues/issue-57819.rs`
[01:01:49] error: 1 errors occurred comparing output.
[01:01:49] status: exit code: 1
[01:01:49] status: exit code: 1
[01:01:49] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/issues/issue-57819.rs" "-Zthreads=1" "--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/issues/issue-57819/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/issues/issue-57819/auxiliary" "-A" "unused"
[01:01:49] ------------------------------------------
[01:01:49] 
[01:01:49] ------------------------------------------
[01:01:49] stderr:
[01:01:49] stderr:
[01:01:49] ------------------------------------------
[01:01:49] {"message":"unmatched angle brackets","code":null,"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-57819.rs","byte_start":421,"byte_end":424,"line_start":19,"line_end":19,"column_start":10,"column_end":13,"is_primary":true,"text":[{"text":"    bar::<<<<<T as Foo>::Output>();","highlight_start":10,"highlight_end":13}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove extra angle brackets","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-57819.rs","byte_start":421,"byte_end":424,"line_start":19,"line_end":19,"column_start":10,"column_end":13,"is_primary":true,"text":[{"text":"    bar::<<<<<T as Foo>::Output>();","highlight_start":10,"highlight_end":13}],"label":null,"suggested_replacement":"","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"error: unmatched angle brackets\n  --> /checkout/src/test/ui/issues/issue-57819.rs:19:10\n   |\nLL |     bar::<<<<<T as Foo>::Output>();\n   |          ^^^ help: remove extra angle brackets\n\n"}
[01:01:49] {"message":"unmatched angle brackets","code":null,"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-57819.rs","byte_start":497,"byte_end":499,"line_start":22,"line_end":22,"column_start":10,"column_end":12,"is_primary":true,"text":[{"text":"    bar::<<<<T as Foo>::Output>();","highlight_start":10,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove extra angle brackets","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-57819.rs","byte_start":497,"byte_end":499,"line_start":22,"line_end":22,"column_start":10,"column_end":12,"is_primary":true,"text":[{"text":"    bar::<<<<T as Foo>::Output>();","highlight_start":10,"highlight_end":12}],"label":null,"suggested_replacement":"","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"error: unmatched angle brackets\n  --> /checkout/src/test/ui/issues/issue-57819.rs:22:10\n   |\nLL |     bar::<<<<T as Foo>::Output>();\n   |          ^^ help: remove extra angle brackets\n\n"}
[01:01:49] {"message":"unmatched angle bracket","code":null,"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-57819.rs","byte_start":572,"byte_end":573,"line_start":25,"line_end":25,"column_start":10,"column_end":11,"is_primary":true,"text":[{"text":"    bar::<<<T as Foo>::Output>();","highlight_start":10,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"maybe remove extra angle bracket","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-57819.rs","byte_start":572,"byte_end":573,"line_start":25,"line_end":25,"column_start":10,"column_end":11,"is_primary":true,"text":[{"text":"    bar::<<<T as Foo>::Output>();","highlight_start":10,"highlight_end":11}],"label":null,"suggested_replacement":"","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"error: unmatched angle bracket\n  --> /checkout/src/test/ui/issues/issue-57819.rs:25:10\n   |\nLL |     bar::<<<T as Foo>::Output>();\n   |          ^ help: maybe remove extra angle bracket\n\n"}
[01:01:49] {"message":"unmatched angle brackets","code":null,"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-57819.rs","byte_start":748,"byte_end":752,"line_start":34,"line_end":34,"column_start":48,"column_end":52,"is_primary":true,"text":[{"text":"    let _ = vec![1, 2, 3].into_iter().collect::<<<<<Vec<usize>>();","highlight_start":48,"highlight_end":52}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove extra angle brackets","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-57819.rs","byte_start":748,"byte_end":752,"line_start":34,"line_end":34,"column_start":48,"column_end":52,"is_primary":true,"text":[{"text":"    let _ = vec![1, 2, 3].into_iter().collect::<<<<<Vec<usize>>();","highlight_start":48,"highlight_end":52}],"label":null,"suggested_replacement":"","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"error: unmatched angle brackets\n  --> /checkout/src/test/ui/issues/issue-57819.rs:34:48\n   |\nLL |     let _ = vec![1, 2, 3].into_iter().collect::<<<<<Vec<usize>>();\n   |                                                ^^^^ help: remove extra angle brackets\n\n"}
[01:01:49] {"message":"unmatched angle brackets","code":null,"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-57819.rs","byte_start":855,"byte_end":858,"line_start":37,"line_end":37,"column_start":48,"column_end":51,"is_primary":true,"text":[{"text":"    let _ = vec![1, 2, 3].into_iter().collect::<<<<Vec<usize>>();","highlight_start":48,"highlight_end":51}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove extra angle brackets","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-57819.rs","byte_start":855,"byte_end":858,"line_start":37,"line_end":37,"column_start":48,"column_end":51,"is_primary":true,"text":[{"text":"    let _ = vec![1, 2, 3].into_iter().collect::<<<<Vec<usize>>();","highlight_start":48,"highlight_end":51}],"label":null,"suggested_replacement":"","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"error: unmatched angle brackets\n  --> /checkout/src/test/ui/issues/issue-57819.rs:37:48\n   |\nLL |     let _ = vec![1, 2, 3].into_iter().collect::<<<<Vec<usize>>();\n   |                                                ^^^ help: remove extra angle brackets\n\n"}
[01:01:49] {"message":"unmatched angle brackets","code":null,"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-57819.rs","byte_start":961,"byte_end":963,"line_start":40,"line_end":40,"column_start":48,"column_end":50,"is_primary":true,"text":[{"text":"    let _ = vec![1, 2, 3].into_iter().collect::<<<Vec<usize>>();","highlight_start":48,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove extra angle brackets","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-57819.rs","byte_start":961,"byte_end":963,"line_start":40,"line_end":40,"column_start":48,"column_end":50,"is_primary":true,"text":[{"text":"    let _ = vec![1, 2, 3].into_iter().collect::<<<Vec<usize>>();","highlight_start":48,"highlight_end":50}],"label":null,"suggested_replacement":"","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"error: unmatched angle brackets\n  --> /checkout/src/test/ui/issues/issue-57819.rs:40:48\n   |\nLL |     let _ = vec![1, 2, 3].into_iter().collect::<<<Vec<usize>>();\n   |                                                ^^ help: remove extra angle brackets\n\n"}
[01:01:49] {"message":"unmatched angle bracket","code":null,"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-57819.rs","byte_start":1066,"byte_end":1067,"line_start":43,"line_end":43,"column_start":48,"column_end":49,"is_primary":true,"text":[{"text":"    let _ = vec![1, 2, 3].into_iter().collect::<<Vec<usize>>();","highlight_start":48,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"maybe remove extra angle bracket","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-57819.rs","byte_start":1066,"byte_end":1067,"line_start":43,"line_end":43,"column_start":48,"column_end":49,"is_primary":true,"text":[{"text":"    let _ = vec![1, 2, 3].into_iter().collect::<<Vec<usize>>();","highlight_start":48,"highlight_end":49}],"label":null,"suggested_replacement":"","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"error: unmatched angle bracket\n  --> /checkout/src/test/ui/issues/issue-57819.rs:43:48\n   |\nLL |     let _ = vec![1, 2, 3].into_iter().collect::<<Vec<usize>>();\n   |                                                ^ help: maybe remove extra angle bracket\n\n"}
[01:01:49] 
[01:01:49] ------------------------------------------
[01:01:49] 
[01:01:49] thread '[ui] ui/issues/issue-57819.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
---
[01:01:49] 
[01:01:49] thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:502:22
[01:01:49] 
[01:01:49] 
[01:01:49] 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-6.0/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--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" "6.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"
[01:01:49] 
[01:01:49] 
[01:01:49] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:01:49] Build completed unsuccessfully in 0:04:06
[01:01:49] Build completed unsuccessfully in 0:04:06
[01:01:49] Makefile:48: recipe for target 'check' failed
[01:01:49] make: *** [check] Error 1
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0cffc54c
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Tue Feb  5 12:25:48 UTC 2019
Tue Feb  5 12:25:48 UTC 2019
bj/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 --batch -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:05f34864
travis_time:start:05f34864
$ 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:174a3128
$ 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)

@estebank estebank force-pushed the estebank:unclosed-delim-the-quickening branch from 40ad7c3 to 8fbc738 Feb 5, 2019

@estebank

This comment has been minimized.

Copy link
Contributor Author

estebank commented Feb 5, 2019

@rust-highfive

This comment was marked as resolved.

Copy link
Collaborator

rust-highfive commented Feb 5, 2019

The job x86_64-gnu-llvm-6.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:end:072bb578:start=1549370804865059063,finish=1549370808410466260,duration=3545407197
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---
travis_time:start:test_debuginfo
Check compiletest suite=debuginfo mode=debuginfo-both (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:14:03] 
[01:14:03] running 119 tests
[01:14:29] .iiiii...i.....i..i...i..i.i..i.ii...i.....i..i....i..........iiii..........i...ii...i.......ii.i.i. 100/119
[01:14:33] i......iii.i.....ii
[01:14:33] 
[01:14:33]  finished in 29.991
[01:14:33] travis_fold:end:test_debuginfo

---
[01:38:26]    Compiling syntax v0.0.0 (/checkout/src/libsyntax)
[01:38:29] error[E0308]: mismatched types
[01:38:29]   --> src/libsyntax/util/parser_testing.rs:14:5
[01:38:29]    |
[01:38:29] 12 |   pub fn string_to_stream(source_str: String) -> TokenStream {
[01:38:29]    |                                                  ----------- expected `tokenstream::TokenStream` because of return type
[01:38:29] 13 |       let ps = ParseSess::new(FilePathMapping::empty());
[01:38:29] 14 | /     source_file_to_stream(&ps, ps.source_map()
[01:38:29] 15 | |                              .new_source_file(PathBuf::from("bogofile").into(), source_str), None)
[01:38:29]    | |__________________________________________________________________________________________________^ expected struct `tokenstream::TokenStream`, found tuple
[01:38:29]    = note: expected type `tokenstream::TokenStream`
[01:38:29]    = note: expected type `tokenstream::TokenStream`
[01:38:29]               found type `(tokenstream::TokenStream, std::vec::Vec<parse::lexer::UnmatchedBrace>)`
[01:38:35] error: aborting due to previous error
[01:38:35] 
[01:38:35] For more information about this error, try `rustc --explain E0308`.
[01:38:35] error: Could not compile `syntax`.
[01:38:35] error: Could not compile `syntax`.
[01:38:35] 
[01:38:35] To learn more, run the command again with --verbose.
[01:38:35] 
[01:38:35] 
[01:38:35] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-gnu" "-j" "4" "--release" "--locked" "--color" "always" "--features" "" "--manifest-path" "/checkout/src/rustc/Cargo.toml" "-p" "syntax" "--" "--quiet"
[01:38:35] 
[01:38:35] 
[01:38:35] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:38:35] Build completed unsuccessfully in 0:36:21
[01:38:35] Build completed unsuccessfully in 0:36:21
[01:38:35] Makefile:48: recipe for target 'check' failed
[01:38:35] make: *** [check] Error 1
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:1597e988
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Tue Feb  5 14:25:34 UTC 2019
---
travis_time:end:1dc8e2c4:start=1549376735776739331,finish=1549376735781455408,duration=4716077
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:13f9cf78
$ 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 --batch -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:1779d3b4
travis_time:start:1779d3b4
$ 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:1a1d169a
$ 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)

@bors

This comment was marked as resolved.

Copy link
Contributor

bors commented Feb 7, 2019

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

@estebank estebank force-pushed the estebank:unclosed-delim-the-quickening branch from f8926b2 to 6e62129 Feb 7, 2019

@estebank

This comment has been minimized.

Copy link
Contributor Author

estebank commented Feb 7, 2019

CC @davidtwco @zackmdavis @euclio @oli-obk who might have comments on the approach/idea/result.

Show resolved Hide resolved src/libsyntax/parse/parser.rs Outdated
@oli-obk

This comment has been minimized.

Copy link
Contributor

oli-obk commented Feb 7, 2019

@bors try

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 7, 2019

⌛️ Trying commit c54b230 with merge dbcc2e8...

bors added a commit that referenced this pull request Feb 7, 2019

Auto merge of #57944 - estebank:unclosed-delim-the-quickening, r=<try>
Deduplicate mismatched delimiter errors

Delay unmatched delimiter errors until after the parser has run to deduplicate them when parsing and attempt recovering intelligently.

Second attempt at #54029, follow up to #53949. Fix #31528.
@oli-obk

This comment has been minimized.

Copy link
Contributor

oli-obk commented Feb 7, 2019

@rust-timer build dbcc2e8

the last PR was a big perf hit, so let's check this before we merge

@rust-timer

This comment has been minimized.

Copy link

rust-timer commented Feb 7, 2019

Success: Queued dbcc2e8 with parent ad43389, comparison URL.

@rust-timer

This comment has been minimized.

Copy link

rust-timer commented Feb 7, 2019

Finished benchmarking try commit dbcc2e8

@estebank

This comment has been minimized.

Copy link
Contributor Author

estebank commented Feb 7, 2019

@bors r=oli-obk as per our in person conversation.

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 7, 2019

📌 Commit c54b230 has been approved by oli-obk

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 8, 2019

⌛️ Testing commit c54b230 with merge 8c2963b...

bors added a commit that referenced this pull request Feb 8, 2019

Auto merge of #57944 - estebank:unclosed-delim-the-quickening, r=oli-obk
Deduplicate mismatched delimiter errors

Delay unmatched delimiter errors until after the parser has run to deduplicate them when parsing and attempt recovering intelligently.

Second attempt at #54029, follow up to #53949. Fix #31528.
@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 8, 2019

💔 Test failed - checks-travis

@rust-highfive

This comment was marked as resolved.

Copy link
Collaborator

rust-highfive commented Feb 8, 2019

The job x86_64-gnu-nopt 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.
[01:24:59] 
[01:24:59] ---- [ui (nll)] ui/augmented-assignments.rs stdout ----
[01:24:59] diff of stderr:
[01:24:59] 
[01:24:59] 9 LL | |     //~^ value used here after move
[01:24:59] 10 LL | |     +=
[01:24:59] 11 LL | |     x;  //~ value moved here
[01:24:59] +    | |     ^
[01:24:59] 13    | |     |
[01:24:59] 14    | |_____move out of `x` occurs here
[01:24:59] 15    |       borrow later used here
[01:24:59] 15    |       borrow later used here
[01:24:59] 
[01:24:59] 
[01:24:59] The actual stderr differed from the expected stderr.
[01:24:59] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/augmented-assignments.nll/augmented-assignments.nll.stderr
[01:24:59] To update references, rerun the tests and pass the `--bless` flag
[01:24:59] To only update this specific test, also pass `--test-args augmented-assignments.rs`
[01:24:59] error: 1 errors occurred comparing output.
[01:24:59] status: exit code: 1
[01:24:59] status: exit code: 1
[01:24:59] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/augmented-assignments.rs" "-Zthreads=1" "--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/augmented-assignments.nll/a" "-Zborrowck=migrate" "-Ztwo-phase-borrows" "-Crpath" "-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/augmented-assignments.nll/auxiliary" "-A" "unused"
[01:24:59] ------------------------------------------
[01:24:59] 
[01:24:59] ------------------------------------------
[01:24:59] stderr:
[01:24:59] stderr:
[01:24:59] ------------------------------------------
[01:24:59] {"message":"cannot move out of `x` because it is borrowed","code":{"code":"E0505","explanation":"\nA value was moved out while it was still borrowed.\n\nErroneous code example:\n\n```compile_fail,E0505\nstruct Value {}\n\nfn eat(val: Value) {}\n\nfn main() {\n    let x = Value{};\n    {\n        let _ref_to_val: &Value = &x;\n        eat(x);\n    }\n}\n```\n\nHere, the function `eat` takes the ownership of `x`. However,\n`x` cannot be moved because it was borrowed to `_ref_to_val`.\nTo fix that you can do few different things:\n\n* Try to avoid moving the variable.\n* Release borrow before move.\n* Implement the `Copy` trait on the type.\n\nExamples:\n\n```\nstruct Value {}\n\nfn eat(val: &Value) {}\n\nfn main() {\n    let x = Value{};\n    {\n        let _ref_to_val: &Value = &x;\n        eat(&x); // pass by reference, if it's possible\n    }\n}\n```\n\nOr:\n\n```\nstruct Value {}\n\nfn eat(val: Value) {}\n\nfn main() {\n    let x = Value{};\n    {\n        let _ref_to_val: &Value = &x;\n    }\n    eat(x); // release borrow and then move it.\n}\n```\n\nOr:\n\n```\n#[derive(Clone, Copy)] // implement Copy trait\nstruct Value {}\n\nfn eat(val: Value) {}\n\nfn main() {\n    let x = Value{};\n    {\n        let _ref_to_val: &Value = &x;\n        eat(x); // it will be copied here.\n    }\n}\n```\n\nYou can find more information about borrowing in the rust-book:\nhttp://doc.rust-lang.org/stable/book/references-and-borrowing.html\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/augmented-assignments.rs","byte_start":182,"byte_end":183,"line_start":13,"line_end":13,"column_start":5,"column_end":6,"is_primary":false,"text":[{"text":"    x   //~ error: use of moved value: `x`","highlight_start":5,"highlight_end":6}],"label":"borrow of `x` occurs here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/augmented-assignments.rs","byte_start":268,"byte_end":269,"line_start":16,"line_end":16,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":"    x;  //~ value moved here","highlight_start":5,"highlight_end":6}],"label":"move out of `x` occurs here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/augmented-assignments.rs","byte_start":182,"byte_end":269,"line_start":13,"line_end":16,"column_start":5,"column_end":6,"is_primary":false,"text":[{"text":"    x   //~ error: use of moved value: `x`","highlight_start":5,"highlight_end":43},{"text":"    //~^ value used here after move","highlight_start":1,"highlight_end":36},{"text":"    +=","highlight_start":1,"highlight_end":7},{"text":"    x;  //~ value moved here","highlight_start":1,"highlight_end":6}],"label":"borrow later used here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0505]: cannot move out of `x` because it is borrowed\n  --> /checkout/src/test/ui/augmented-assignments.rs:16:5\n   |\nLL |       x   //~ error: use of moved value: `x`\n   |       -\n   |       |\n   |  _____borrow of `x` occurs here\n   | |\nLL | |     //~^ value used here after move\nLL | |     +=\nLL | |     x;  //~ value moved here\n   | |     ^\n   | |     |\n   | |_____move out of `x` occurs here\n   |       borrow later used here\n\n"}
[01:24:59] {"message":"cannot borrow `y` as mutable, as it is not declared as mutable","code":{"code":"E0596","explanation":"\nThis error occurs because you tried to mutably borrow a non-mutable variable.\n\nExample of erroneous code:\n\n```compile_fail,E0596\nlet x = 1;\nlet y = &mut x; // error: cannot borrow mutably\n```\n\nIn here, `x` isn't mutable, so when we try to mutably borrow it in `y`, it\nfails. To fix this error, you need to make `x` mutable:\n\n```\nlet mut x = 1;\nlet y = &mut x; // ok!\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/augmented-assignments.rs","byte_start":384,"byte_end":385,"line_start":21,"line_end":21,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":"    y   //~ error: cannot borrow immutable local variable `y` as mutable","highlight_start":5,"highlight_end":6}],"label":"cannot borrow as mutable","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider changing this to be mutable","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/augmented-assignments.rs","byte_start":302,"byte_end":303,"line_start":18,"line_end":18,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":"    let y = Int(2);","highlight_start":9,"highlight_end":10}],"label":null,"suggested_replacement":"mut y","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0596]: cannot borrow `y` as mutable, as it is not declared as mutable\n  --> /checkout/src/test/ui/augmented-assignments.rs:21:5\n   |\nLL |     let y = Int(2);\n   |         - help: consider changing this to be mutable: `mut y`\n...\nLL |     y   //~ error: cannot borrow immutable local variable `y` as mutable\n   |     ^ cannot borrow as mutable\n\n"}
[01:24:59] {"message":"aborting due to 2 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 2 previous errors\n\n"}
[01:24:59] {"message":"Some errors occurred: E0505, E0596.","code":null,"level":"","spans":[],"children":[],"rendered":"Some errors occurred: E0505, E0596.\n"}
[01:24:59] 
[01:24:59] ------------------------------------------
[01:24:59] 
[01:24:59] thread '[ui (nll)] ui/augmented-assignments.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3295:9
---
[01:24:59] 
[01:24:59] 
[01:24:59] 
[01:24:59] thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:502:22
[01:24:59] 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" "/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build/bin/FileCheck" "--host-rustcflags" "-Crpath -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -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" "--llvm-version" "8.0.0\n" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always" "--compare-mode" "nll"
[01:24:59] 
[01:24:59] 
[01:24:59] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:24:59] Build completed unsuccessfully in 0:08:01
[01:24:59] Build completed unsuccessfully in 0:08:01
[01:24:59] Makefile:48: recipe for target 'check' failed
[01:24:59] make: *** [check] Error 1
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:11f6ff66
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Fri Feb  8 05:48:32 UTC 2019
---
travis_time:end:020d60c0:start=1549604914970156663,finish=1549604914979589217,duration=9432554
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:01dda0d5
$ 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 --batch -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:16fb1605
travis_time:start:16fb1605
$ 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:20152dac
$ 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)

@estebank

This comment has been minimized.

Copy link
Contributor Author

estebank commented Feb 8, 2019

@bors r=oli-obk

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 8, 2019

📌 Commit fb3c4fb has been approved by oli-obk

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 9, 2019

⌛️ Testing commit fb3c4fb with merge 3315728...

bors added a commit that referenced this pull request Feb 9, 2019

Auto merge of #57944 - estebank:unclosed-delim-the-quickening, r=oli-obk
Deduplicate mismatched delimiter errors

Delay unmatched delimiter errors until after the parser has run to deduplicate them when parsing and attempt recovering intelligently.

Second attempt at #54029, follow up to #53949. Fix #31528.
@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 9, 2019

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

@bors bors added the merged-by-bors label Feb 9, 2019

@bors bors merged commit fb3c4fb into rust-lang:master Feb 9, 2019

1 check passed

homu Test successful
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.