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

rustc: replace `TyCtxt<'a, 'gcx, 'tcx>` with `TyCtxt<'gcx, 'tcx>`. #61722

Merged
merged 7 commits into from Jun 12, 2019

Conversation

Projects
None yet
6 participants
@eddyb
Copy link
Member

commented Jun 10, 2019

This first lifetime parameter of TyCtxt has been phantom for a while, thanks to @Zoxc, but was never removed, and I'm doing this now in preparation for removing the 'gcx/'tcx split.

I wasn't going to do this as a separate step, and instead start converting uses of TyCtxt to a single-lifetime alias of it (e.g. type TyCx<'tcx> = TyCtxt<'tcx, 'tcx, 'tcx>;) but it turns out (as @Zoxc rightly predicted) that there is far more fallout from not needing a lifetime for the first parameter of TyCtxt.

That is, going from TyCtxt<'a, 'gcx, 'tcx> to TyCtxt<'tcx, 'gcx, 'tcx> (the first commit in this PR) has the largest amount of fallout out of all the changes we might make (because it can require removing the 'a parameter of structs containing tcx: TyCtxt<'a, ...>), and is the hardest to automate (because 'a is used everywhere, not just with TyCtxt, unlike, say 'gcx, 'tcx -> 'tcx).

So I'm submitting this now to get it out of the way and reduce further friction in the future.

EDIT: for the rustfmt commit, I used rust-lang/rustfmt#1324 (comment), and manually filtered out some noise, like in #61735, but unlike that PR, there was also a weird bug to work around.
It should be reviewed separately, and dropped if unwanted.

cc @rust-lang/compiler r? @nikomatsakis

@rust-highfive

This comment was marked as resolved.

Copy link
Collaborator

commented Jun 10, 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:144a1964:start=1560184012061041273,finish=1560184013352299141,duration=1291257868
$ 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
$ export GCP_CACHE_BUCKET=rust-lang-ci-cache
$ export AWS_ACCESS_KEY_ID=AKIA46X5W6CZEJZ6XT55
---
travis_time:start:test_codegen
Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:03:40] 
[01:03:40] running 144 tests
[01:03:43] i..iii.....iii...iiii....i......................i..i.................i.....i..........ii.i..i..i.ii. 100/144
[01:03:45] test result: ok. 114 passed; 0 failed; 30 ignored; 0 measured; 0 filtered out
[01:03:45] 
[01:03:45]  finished in 4.436
[01:03:45] travis_fold:end:test_codegen
---
travis_time:start:test_assembly
Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:03:47] 
[01:03:47] running 9 tests
[01:03:47] iiiiiiiii
[01:03:47] 
[01:03:47]  finished in 0.147
[01:03:47] travis_fold:end:test_assembly

---
travis_time:start:test_debuginfo
Check compiletest suite=debuginfo mode=debuginfo-gdb+lldb (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:04:02] 
[01:04:02] running 122 tests
[01:04:27] .iiiii...i.....i..i...i..i.i.i..i.ii..i.i.....i..i....i..........iiii..........i...ii...i.......ii.i 100/122
[01:04:32] .i.i......iii.i.....ii
[01:04:32] 
[01:04:32]  finished in 29.751
[01:04:32] travis_fold:end:test_debuginfo

---
travis_time:start:test_ui-fulldeps
Check compiletest suite=ui-fulldeps mode=ui (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:04:32] 
[01:04:32] running 24 tests
[01:04:39] ......FF................
[01:04:39] 
[01:04:39] ---- [ui] ui-fulldeps/internal-lints/pass_ty_by_ref.rs stdout ----
[01:04:39] diff of stderr:
[01:04:39] 
[01:04:39] 
[01:04:39] 14   --> $DIR/pass_ty_by_ref.rs:15:18
[01:04:39] 15    |
[01:04:39] 16 LL |     ty_ctxt_ref: &TyCtxt<'_, '_>,
[01:04:39] -    |                  ^^^^^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:04:39] +    |                  ^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:04:39] 19 error: passing `Ty<'_>` by reference
[01:04:39] 20   --> $DIR/pass_ty_by_ref.rs:19:28
[01:04:39] 
[01:04:39] 26   --> $DIR/pass_ty_by_ref.rs:19:55
[01:04:39] 26   --> $DIR/pass_ty_by_ref.rs:19:55
[01:04:39] 27    |
[01:04:39] 28 LL | fn ty_multi_ref(ty_multi: &&Ty<'_>, ty_ctxt_multi: &&&&TyCtxt<'_, '_>) {}
[01:04:39] -    |                                                       ^^^^^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:04:39] +    |                                                       ^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:04:39] 31 error: passing `Ty<'_>` by reference
[01:04:39] 32   --> $DIR/pass_ty_by_ref.rs:26:17
[01:04:39] 
[01:04:39] 38   --> $DIR/pass_ty_by_ref.rs:28:22
[01:04:39] 38   --> $DIR/pass_ty_by_ref.rs:28:22
[01:04:39] 39    |
[01:04:39] 40 LL |         ty_ctxt_ref: &TyCtxt<'_, '_>,
[01:04:39] -    |                      ^^^^^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:04:39] +    |                      ^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:04:39] 43 error: passing `Ty<'_>` by reference
[01:04:39] 44   --> $DIR/pass_ty_by_ref.rs:31:41
[01:04:39] 
[01:04:39] 50   --> $DIR/pass_ty_by_ref.rs:31:68
[01:04:39] 50   --> $DIR/pass_ty_by_ref.rs:31:68
[01:04:39] 51    |
[01:04:39] 52 LL |     fn ty_multi_ref_in_trait(ty_multi: &&Ty<'_>, ty_ctxt_multi: &&&&TyCtxt<'_, '_>);
[01:04:39] -    |                                                                    ^^^^^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:04:39] +    |                                                                    ^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:04:39] 55 error: passing `Ty<'_>` by reference
[01:04:39] 56   --> $DIR/pass_ty_by_ref.rs:53:17
[01:04:39] 
[01:04:39] 62   --> $DIR/pass_ty_by_ref.rs:55:22
[01:04:39] 62   --> $DIR/pass_ty_by_ref.rs:55:22
[01:04:39] 63    |
[01:04:39] 64 LL |         ty_ctxt_ref: &TyCtxt<'_, '_>,
[01:04:39] -    |                      ^^^^^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:04:39] +    |                      ^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:04:39] 67 error: passing `Ty<'_>` by reference
[01:04:39] 68   --> $DIR/pass_ty_by_ref.rs:59:38
[01:04:39] 
[01:04:39] 74   --> $DIR/pass_ty_by_ref.rs:59:65
[01:04:39] 74   --> $DIR/pass_ty_by_ref.rs:59:65
[01:04:39] 75    |
[01:04:39] 76 LL |     fn ty_multi_ref_assoc(ty_multi: &&Ty<'_>, ty_ctxt_multi: &&&&TyCtxt<'_, '_>) {}
[01:04:39] -    |                                                                 ^^^^^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:04:39] +    |                                                                 ^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:04:39] 79 error: aborting due to 12 previous errors
[01:04:39] 80 
[01:04:39] 
[01:04:39] 
[01:04:39] 
[01:04:39] The actual stderr differed from the expected stderr.
[01:04:39] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/internal-lints/pass_ty_by_ref/pass_ty_by_ref.stderr
[01:04:39] To update references, rerun the tests and pass the `--bless` flag
[01:04:39] To only update this specific test, also pass `--test-args internal-lints/pass_ty_by_ref.rs`
[01:04:39] error: 1 errors occurred comparing output.
[01:04:39] status: exit code: 1
[01:04:39] status: exit code: 1
[01:04:39] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/internal-lints/pass_ty_by_ref" "-Crpath" "-O" "-Cdebuginfo=0" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-Z" "unstable-options" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/internal-lints/pass_ty_by_ref/auxiliary" "-A" "unused"
[01:04:39] ------------------------------------------
[01:04:39] 
[01:04:39] ------------------------------------------
[01:04:39] stderr:
[01:04:39] stderr:
[01:04:39] ------------------------------------------
[01:04:39] error: passing `Ty<'_>` by reference
[01:04:39]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:13:13
[01:04:39]    |
[01:04:39] LL |     ty_ref: &Ty<'_>, //~ ERROR passing `Ty<'_>` by reference
[01:04:39]    |             ^^^^^^^ help: try passing by value: `Ty<'_>`
[01:04:39] note: lint level defined here
[01:04:39]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:4:9
[01:04:39]    |
[01:04:39]    |
[01:04:39] LL | #![deny(ty_pass_by_reference)]
[01:04:39] 
[01:04:39] error: passing `TyCtxt<'_, '_>` by reference
[01:04:39]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:15:18
[01:04:39]    |
[01:04:39]    |
[01:04:39] LL |     ty_ctxt_ref: &TyCtxt<'_, '_>, //~ ERROR passing `TyCtxt<'_, '_>` by reference
[01:04:39]    |                  ^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:04:39] error: passing `Ty<'_>` by reference
[01:04:39]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:19:28
[01:04:39]    |
[01:04:39]    |
[01:04:39] LL | fn ty_multi_ref(ty_multi: &&Ty<'_>, ty_ctxt_multi: &&&&TyCtxt<'_, '_>) {}
[01:04:39]    |                            ^^^^^^^ help: try passing by value: `Ty<'_>`
[01:04:39] error: passing `TyCtxt<'_, '_>` by reference
[01:04:39]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:19:55
[01:04:39]    |
[01:04:39]    |
[01:04:39] LL | fn ty_multi_ref(ty_multi: &&Ty<'_>, ty_ctxt_multi: &&&&TyCtxt<'_, '_>) {}
[01:04:39]    |                                                       ^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:04:39] error: passing `Ty<'_>` by reference
[01:04:39]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:26:17
[01:04:39]    |
[01:04:39]    |
[01:04:39] LL |         ty_ref: &Ty<'_>, //~ ERROR passing `Ty<'_>` by reference
[01:04:39]    |                 ^^^^^^^ help: try passing by value: `Ty<'_>`
[01:04:39] error: passing `TyCtxt<'_, '_>` by reference
[01:04:39]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:28:22
[01:04:39]    |
[01:04:39]    |
[01:04:39] LL |         ty_ctxt_ref: &TyCtxt<'_, '_>, //~ ERROR passing `TyCtxt<'_, '_>` by reference
[01:04:39]    |                      ^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:04:39] error: passing `Ty<'_>` by reference
[01:04:39]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:31:41
[01:04:39]    |
[01:04:39]    |
[01:04:39] LL |     fn ty_multi_ref_in_trait(ty_multi: &&Ty<'_>, ty_ctxt_multi: &&&&TyCtxt<'_, '_>);
[01:04:39]    |                                         ^^^^^^^ help: try passing by value: `Ty<'_>`
[01:04:39] error: passing `TyCtxt<'_, '_>` by reference
[01:04:39]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:31:68
[01:04:39]    |
[01:04:39]    |
[01:04:39] LL |     fn ty_multi_ref_in_trait(ty_multi: &&Ty<'_>, ty_ctxt_multi: &&&&TyCtxt<'_, '_>);
[01:04:39]    |                                                                    ^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:04:39] error: passing `Ty<'_>` by reference
[01:04:39]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:53:17
[01:04:39]    |
[01:04:39]    |
[01:04:39] LL |         ty_ref: &Ty<'_>, //~ ERROR passing `Ty<'_>` by reference
[01:04:39]    |                 ^^^^^^^ help: try passing by value: `Ty<'_>`
[01:04:39] error: passing `TyCtxt<'_, '_>` by reference
[01:04:39]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:55:22
[01:04:39]    |
[01:04:39]    |
[01:04:39] LL |         ty_ctxt_ref: &TyCtxt<'_, '_>, //~ ERROR passing `TyCtxt<'_, '_>` by reference
[01:04:39]    |                      ^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:04:39] error: passing `Ty<'_>` by reference
[01:04:39]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:59:38
[01:04:39]    |
[01:04:39]    |
[01:04:39] LL |     fn ty_multi_ref_assoc(ty_multi: &&Ty<'_>, ty_ctxt_multi: &&&&TyCtxt<'_, '_>) {}
[01:04:39]    |                                      ^^^^^^^ help: try passing by value: `Ty<'_>`
[01:04:39] error: passing `TyCtxt<'_, '_>` by reference
[01:04:39]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:59:65
[01:04:39]    |
[01:04:39]    |
[01:04:39] LL |     fn ty_multi_ref_assoc(ty_multi: &&Ty<'_>, ty_ctxt_multi: &&&&TyCtxt<'_, '_>) {}
[01:04:39]    |                                                                 ^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:04:39] error: aborting due to 12 previous errors
[01:04:39] 
[01:04:39] 
[01:04:39] ------------------------------------------
[01:04:39] ------------------------------------------
[01:04:39] 
[01:04:39] 
[01:04:39] ---- [ui] ui-fulldeps/internal-lints/qualified_ty_ty_ctxt.rs stdout ----
[01:04:39] diff of stderr:
[01:04:39] 
[01:04:39] 14   --> $DIR/qualified_ty_ty_ctxt.rs:27:16
[01:04:39] 15    |
[01:04:39] 16 LL |     ty_ctxt_q: ty::TyCtxt<'_, '_>,
[01:04:39] -    |                ^^^^^^^^^^^^^^^^^^^^^^ help: try using it unqualified: `TyCtxt<'_, '_>`
[01:04:39] +    |                ^^^^^^^^^^^^^^^^^^ help: try using it unqualified: `TyCtxt<'_, '_>`
[01:04:39] 19 error: aborting due to 2 previous errors
[01:04:39] 20 
[01:04:39] 
[01:04:39] 
[01:04:39] 
[01:04:39] The actual stderr differed from the expected stderr.
[01:04:39] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/internal-lints/qualified_ty_ty_ctxt/qualified_ty_ty_ctxt.stderr
[01:04:39] To update references, rerun the tests and pass the `--bless` flag
[01:04:39] To only update this specific test, also pass `--test-args internal-lints/qualified_ty_ty_ctxt.rs`
[01:04:39] error: 1 errors occurred comparing output.
[01:04:39] status: exit code: 1
[01:04:39] status: exit code: 1
[01:04:39] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui-fulldeps/internal-lints/qualified_ty_ty_ctxt.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/internal-lints/qualified_ty_ty_ctxt" "-Crpath" "-O" "-Cdebuginfo=0" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-Z" "unstable-options" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/internal-lints/qualified_ty_ty_ctxt/auxiliary" "-A" "unused"
[01:04:39] ------------------------------------------
[01:04:39] 
[01:04:39] ------------------------------------------
[01:04:39] stderr:
[01:04:39] stderr:
[01:04:39] ------------------------------------------
[01:04:39] error: usage of qualified `ty::Ty<'_>`
[01:04:39]   --> /checkout/src/test/ui-fulldeps/internal-lints/qualified_ty_ty_ctxt.rs:25:11
[01:04:39]    |
[01:04:39] LL |     ty_q: ty::Ty<'_>, //~ ERROR usage of qualified `ty::Ty<'_>`
[01:04:39]    |           ^^^^^^^^^^ help: try using it unqualified: `Ty<'_>`
[01:04:39] note: lint level defined here
[01:04:39]   --> /checkout/src/test/ui-fulldeps/internal-lints/qualified_ty_ty_ctxt.rs:4:9
[01:04:39]    |
[01:04:39]    |
[01:04:39] LL | #![deny(usage_of_qualified_ty)]
[01:04:39] 
[01:04:39] error: usage of qualified `ty::TyCtxt<'_, '_>`
[01:04:39]   --> /checkout/src/test/ui-fulldeps/internal-lints/qualified_ty_ty_ctxt.rs:27:16
[01:04:39]    |
[01:04:39]    |
[01:04:39] LL |     ty_ctxt_q: ty::TyCtxt<'_, '_>, //~ ERROR usage of qualified `ty::TyCtxt<'_, '_>`
[01:04:39]    |                ^^^^^^^^^^^^^^^^^^ help: try using it unqualified: `TyCtxt<'_, '_>`
[01:04:39] error: aborting due to 2 previous errors
[01:04:39] 
[01:04:39] 
[01:04:39] ------------------------------------------
---
[01:04:39] thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:521:22
[01:04:39] 
[01:04:39] 
[01:04:39] note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
[01:04:39] 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-fulldeps" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps" "--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 -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -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:04:39] 
[01:04:39] 
[01:04:39] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:04:39] Build completed unsuccessfully in 0:59:54
---
travis_time:end:29a12336:start=1560187904996634838,finish=1560187905001537429,duration=4902591
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:0783a9da
$ 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:16224ab0
travis_time:start:16224ab0
$ 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:13c671a3
$ 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)

@eddyb eddyb force-pushed the eddyb:vowel-exclusion-zone branch from 63cfc09 to 23755eb Jun 10, 2019

@rust-highfive

This comment was marked as resolved.

Copy link
Collaborator

commented Jun 10, 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:05d429da:start=1560192817584885527,finish=1560192818838945300,duration=1254059773
$ 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
$ export GCP_CACHE_BUCKET=rust-lang-ci-cache
$ export AWS_ACCESS_KEY_ID=AKIA46X5W6CZEJZ6XT55
---
travis_time:start:test_codegen
Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:05:01] 
[01:05:01] running 144 tests
[01:05:04] i..iii.....iii..iiii.....i......................i..i.................i.....i..........ii.i..i..i.ii. 100/144
[01:05:05] test result: ok. 114 passed; 0 failed; 30 ignored; 0 measured; 0 filtered out
[01:05:05] 
[01:05:05]  finished in 4.586
[01:05:05] travis_fold:end:test_codegen
---
travis_time:start:test_assembly
Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:05:08] 
[01:05:08] running 9 tests
[01:05:08] iiiiiiiii
[01:05:08] 
[01:05:08]  finished in 0.149
[01:05:08] travis_fold:end:test_assembly

---
travis_time:start:test_debuginfo
Check compiletest suite=debuginfo mode=debuginfo-gdb+lldb (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:05:23] 
[01:05:23] running 122 tests
[01:05:48] .iiiii...i.....i..i...i..i.i.i..i.ii..i.i.....i..i....i..........iiii..........i...ii...i.......ii.i 100/122
[01:05:53] .i.i......iii.i.....ii
[01:05:53] 
[01:05:53]  finished in 30.231
[01:05:53] travis_fold:end:test_debuginfo

---
[01:05:54] 
[01:05:54] running 24 tests
[01:06:01] thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:521:22
[01:06:01] note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
[01:06:01] .....F..................
[01:06:01] 
[01:06:01] ---- [ui] ui-fulldeps/internal-lints/pass_ty_by_ref.rs stdout ----
[01:06:01] diff of stderr:
[01:06:01] 
[01:06:01] 
[01:06:01] 62   --> $DIR/pass_ty_by_ref.rs:55:22
[01:06:01] 63    |
[01:06:01] 64 LL |         ty_ctxt_ref: &TyCtxt<'_, '_>,
[01:06:01] -    |                      ^^^^^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:06:01] +    |                      ^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:06:01] 67 error: passing `Ty<'_>` by reference
[01:06:01] 68   --> $DIR/pass_ty_by_ref.rs:59:38
[01:06:01] 
[01:06:01] 
[01:06:01] 
[01:06:01] The actual stderr differed from the expected stderr.
[01:06:01] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/internal-lints/pass_ty_by_ref/pass_ty_by_ref.stderr
[01:06:01] To update references, rerun the tests and pass the `--bless` flag
[01:06:01] To only update this specific test, also pass `--test-args internal-lints/pass_ty_by_ref.rs`
[01:06:01] error: 1 errors occurred comparing output.
[01:06:01] status: exit code: 1
[01:06:01] status: exit code: 1
[01:06:01] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/internal-lints/pass_ty_by_ref" "-Crpath" "-O" "-Cdebuginfo=0" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-Z" "unstable-options" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/internal-lints/pass_ty_by_ref/auxiliary" "-A" "unused"
[01:06:01] ------------------------------------------
[01:06:01] 
[01:06:01] ------------------------------------------
[01:06:01] stderr:
[01:06:01] stderr:
[01:06:01] ------------------------------------------
[01:06:01] error: passing `Ty<'_>` by reference
[01:06:01]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:13:13
[01:06:01]    |
[01:06:01] LL |     ty_ref: &Ty<'_>, //~ ERROR passing `Ty<'_>` by reference
[01:06:01]    |             ^^^^^^^ help: try passing by value: `Ty<'_>`
[01:06:01] note: lint level defined here
[01:06:01]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:4:9
[01:06:01]    |
[01:06:01]    |
[01:06:01] LL | #![deny(ty_pass_by_reference)]
[01:06:01] 
[01:06:01] error: passing `TyCtxt<'_, '_>` by reference
[01:06:01]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:15:18
[01:06:01]    |
[01:06:01]    |
[01:06:01] LL |     ty_ctxt_ref: &TyCtxt<'_, '_>, //~ ERROR passing `TyCtxt<'_, '_>` by reference
[01:06:01]    |                  ^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:06:01] error: passing `Ty<'_>` by reference
[01:06:01]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:19:28
[01:06:01]    |
[01:06:01]    |
[01:06:01] LL | fn ty_multi_ref(ty_multi: &&Ty<'_>, ty_ctxt_multi: &&&&TyCtxt<'_, '_>) {}
[01:06:01]    |                            ^^^^^^^ help: try passing by value: `Ty<'_>`
[01:06:01] error: passing `TyCtxt<'_, '_>` by reference
[01:06:01]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:19:55
[01:06:01]    |
[01:06:01]    |
[01:06:01] LL | fn ty_multi_ref(ty_multi: &&Ty<'_>, ty_ctxt_multi: &&&&TyCtxt<'_, '_>) {}
[01:06:01]    |                                                       ^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:06:01] error: passing `Ty<'_>` by reference
[01:06:01]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:26:17
[01:06:01]    |
[01:06:01]    |
[01:06:01] LL |         ty_ref: &Ty<'_>, //~ ERROR passing `Ty<'_>` by reference
[01:06:01]    |                 ^^^^^^^ help: try passing by value: `Ty<'_>`
[01:06:01] error: passing `TyCtxt<'_, '_>` by reference
[01:06:01]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:28:22
[01:06:01]    |
[01:06:01]    |
[01:06:01] LL |         ty_ctxt_ref: &TyCtxt<'_, '_>, //~ ERROR passing `TyCtxt<'_, '_>` by reference
[01:06:01]    |                      ^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:06:01] error: passing `Ty<'_>` by reference
[01:06:01]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:31:41
[01:06:01]    |
[01:06:01]    |
[01:06:01] LL |     fn ty_multi_ref_in_trait(ty_multi: &&Ty<'_>, ty_ctxt_multi: &&&&TyCtxt<'_, '_>);
[01:06:01]    |                                         ^^^^^^^ help: try passing by value: `Ty<'_>`
[01:06:01] error: passing `TyCtxt<'_, '_>` by reference
[01:06:01]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:31:68
[01:06:01]    |
[01:06:01]    |
[01:06:01] LL |     fn ty_multi_ref_in_trait(ty_multi: &&Ty<'_>, ty_ctxt_multi: &&&&TyCtxt<'_, '_>);
[01:06:01]    |                                                                    ^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:06:01] error: passing `Ty<'_>` by reference
[01:06:01]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:53:17
[01:06:01]    |
[01:06:01]    |
[01:06:01] LL |         ty_ref: &Ty<'_>, //~ ERROR passing `Ty<'_>` by reference
[01:06:01]    |                 ^^^^^^^ help: try passing by value: `Ty<'_>`
[01:06:01] error: passing `TyCtxt<'_, '_>` by reference
[01:06:01]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:55:22
[01:06:01]    |
[01:06:01]    |
[01:06:01] LL |         ty_ctxt_ref: &TyCtxt<'_, '_>, //~ ERROR passing `TyCtxt<'_, '_>` by reference
[01:06:01]    |                      ^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:06:01] error: passing `Ty<'_>` by reference
[01:06:01]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:59:38
[01:06:01]    |
[01:06:01]    |
[01:06:01] LL |     fn ty_multi_ref_assoc(ty_multi: &&Ty<'_>, ty_ctxt_multi: &&&&TyCtxt<'_, '_>) {}
[01:06:01]    |                                      ^^^^^^^ help: try passing by value: `Ty<'_>`
[01:06:01] error: passing `TyCtxt<'_, '_>` by reference
[01:06:01]   --> /checkout/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs:59:65
[01:06:01]    |
[01:06:01]    |
[01:06:01] LL |     fn ty_multi_ref_assoc(ty_multi: &&Ty<'_>, ty_ctxt_multi: &&&&TyCtxt<'_, '_>) {}
[01:06:01]    |                                                                 ^^^^^^^^^^^^^^^ help: try passing by value: `TyCtxt<'_, '_>`
[01:06:01] error: aborting due to 12 previous errors
[01:06:01] 
[01:06:01] 
[01:06:01] ------------------------------------------
---
[01:06:01] test result: FAILED. 23 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out
[01:06:01] 
[01:06:01] 
[01:06:01] 
[01:06:01] 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-fulldeps" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps" "--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 -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -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:06:01] 
[01:06:01] 
[01:06:01] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:06:01] Build completed unsuccessfully in 1:01:12
---
travis_time:end:04b358eb:start=1560196792658297079,finish=1560196792663197208,duration=4900129
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:00975837
$ 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:38453904
travis_time:start:38453904
$ 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:04fb8926
$ 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)

@eddyb eddyb force-pushed the eddyb:vowel-exclusion-zone branch from 23755eb to 3ae6b4f Jun 11, 2019

bors added a commit that referenced this pull request Jun 11, 2019

Auto merge of #61735 - eddyb:must-use-life, r=oli-obk
Add deny(unused_lifetimes) to all the crates that have deny(internal).

@Zoxc brought up, regarding #61722, that we don't force the removal of unused lifetimes.
Turns out that it's not that bad to enable for compiler crates (I wonder why it's not `warn` by default?).

I would've liked to enable `single_use_lifetimes` as well, but #53738 makes it unusable for now.

For the `rustfmt` commit, I used rust-lang/rustfmt#1324 (comment), and manually filtered out some noise.

r? @oli-obk cc @rust-lang/compiler

bors added a commit that referenced this pull request Jun 11, 2019

Auto merge of #61735 - eddyb:must-use-life, r=oli-obk
Add deny(unused_lifetimes) to all the crates that have deny(internal).

@Zoxc brought up, regarding #61722, that we don't force the removal of unused lifetimes.
Turns out that it's not that bad to enable for compiler crates (I wonder why it's not `warn` by default?).

I would've liked to enable `single_use_lifetimes` as well, but #53738 makes it unusable for now.

For the `rustfmt` commit, I used rust-lang/rustfmt#1324 (comment), and manually filtered out some noise.

r? @oli-obk cc @rust-lang/compiler

@eddyb eddyb force-pushed the eddyb:vowel-exclusion-zone branch 2 times, most recently from 1b99bba to 0472b6c Jun 11, 2019

@eddyb

This comment was marked as resolved.

Copy link
Member Author

commented Jun 11, 2019

This might error because of rustfmt, not sure why it introduced syntax errors, I'll dig into it tomorrow.

@rust-highfive

This comment was marked as resolved.

Copy link
Collaborator

commented Jun 11, 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:1efb22e2:start=1560287642906833972,finish=1560287646733087967,duration=3826253995
$ 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
$ export GCP_CACHE_BUCKET=rust-lang-ci-cache
$ export AWS_ACCESS_KEY_ID=AKIA46X5W6CZEJZ6XT55
---
[00:08:54]    Compiling syntax_ext v0.0.0 (/checkout/src/libsyntax_ext)
[00:08:54] error: this file contains an un-closed delimiter
[00:08:54]     --> src/librustc/middle/region.rs:1411:3
[00:08:54]      |
[00:08:54] 742  | ) {
[00:08:54]      |   - un-closed delimiter
[00:08:54] 743  |     match visitor.cx.var_parent {
[00:08:54]      |                                 - this delimiter might not be properly closed...
[00:08:54] 751  |   }
[00:08:54] 751  |   }
[00:08:54]      |   - ...as it matches this but it has different indentation
[00:08:54] 1411 | }
[00:08:54]      |   ^
[00:08:54] 
[00:08:54] error: incorrect close delimiter: `}`
[00:08:54] error: incorrect close delimiter: `}`
[00:08:54]    --> src/librustc/middle/region.rs:855:88
[00:08:54]     |
[00:08:54] 855 |     debug!("resolve_pat - post-increment {} pat = {:?}", visitor.expr_and_pat_count, pa}
[00:08:54]     |           - un-closed delimiter                                                        ^ incorrect close delimiter
[00:08:55] error: this file contains an un-closed delimiter
[00:08:55]     --> src/librustc/ty/mod.rs:3431:3
[00:08:55]      |
[00:08:55]      |
[00:08:55] 3200 | fn associated_item_def_ids<'tcx>(tcx: TyCtxt<'tcx, 'tcx>, def_id: DefId) -> &'tcx [DefId] {
[00:08:55]      |                                                                                           - un-closed delimiter
[00:08:55] 3203 |     match item.node {
[00:08:55]      |                     - this delimiter might not be properly closed...
[00:08:55] ...
[00:08:55] 3220 |   }
[00:08:55] 3220 |   }
[00:08:55]      |   - ...as it matches this but it has different indentation
[00:08:55] 3431 | }
[00:08:55]      |   ^
[00:08:55] 
[00:08:55] error: this file contains an un-closed delimiter
---
[00:08:55]     | - un-closed delimiter
[00:08:55] 186 |     Ok(ty::GenericPredicates {
[00:08:55]     |       - un-closed delimiter
[00:08:55] ...
[00:08:55] 244 |     Ok(decoder.tcx()
[00:08:55]     |       - this delimiter might not be properly closed...
[00:08:55] 245 |               .mk_existential_predicates((0..len).map(|_| Decodable::decode(decoder)))?)
[00:08:55]     |                                                                                        - ...as it matches this but it has different indentation
[00:08:55] 453 | }
[00:08:55]     |   ^
[00:08:55] 
[00:08:55] error: incorrect close delimiter: `}`
[00:08:55] error: incorrect close delimiter: `}`
[00:08:55]    --> src/librustc/ty/codec.rs:211:66
[00:08:55]     |
[00:08:55] 211 |     Ok(tcx.mk_substs((0..len).map(|_| Decodable::decode(decoder))}
[00:08:55]     |                     - un-closed delimiter                        ^ incorrect close delimiter
[00:08:55] error: incorrect close delimiter: `}`
[00:08:55]    --> src/librustc/ty/codec.rs:218:58
[00:08:55]     |
[00:08:55]     |
[00:08:55] 218 |     Ok(decoder.tcx().mk_region(Decodable::decode(decoder)}
[00:08:55]     |                               - un-closed delimiter      ^ incorrect close delimiter
[00:08:55] error: incorrect close delimiter: `}`
[00:08:55]    --> src/librustc/ty/codec.rs:226:79
[00:08:55]     |
[00:08:55]     |
[00:08:55] 226 |     Ok(decoder.tcx().mk_type_list((0..len).map(|_| Decodable::decode(decoder))}
[00:08:55]     |                                  - un-closed delimiter                        ^ incorrect close delimiter
[00:08:55] error: incorrect close delimiter: `}`
[00:08:55]    --> src/librustc/ty/codec.rs:234:35
[00:08:55]     |
[00:08:55]     |
[00:08:55] 234 |     Ok(decoder.tcx().adt_def(def_i}
[00:08:55]     |                             |
[00:08:55]     |                             un-closed delimiter
[00:08:55] 
[00:08:55] 
[00:08:55] error: expected one of `)`, `,`, `.`, `?`, or an operator, found `#`
[00:08:55]    --> src/librustc/ty/codec.rs:204:1
[00:08:55] 202 |    }
[00:08:55] 202 |    }
[00:08:55]     |     - expected one of `)`, `,`, `.`, `?`, or an operator here
[00:08:55] 204 | #[inline]
[00:08:55]     | ^ unexpected token
[00:08:55] 
[00:08:55] 
[00:08:55] error: expected one of `)`, `-`, `.`, `;`, `<`, `?`, `async`, `await`, `break`, `continue`, `for`, `if`, `loop`, `match`, `move`, `return`, `static`, `unsafe`, `while`, `yield`, `}`, or an operator, found `pub`
[00:08:55]    --> src/librustc/ty/codec.rs:205:1
[00:08:55] 204 | #[inline]
[00:08:55]     |          - expected one of 22 possible tokens here
[00:08:55]     |          - expected one of 22 possible tokens here
[00:08:55] 205 | pub fn decode_substs<D>(decoder: &mut D) -> Result<SubstsRef<'tcx>, D::Error>
[00:08:55] 
[00:08:55] 
[00:08:57] error[E0432]: unresolved import `crate::ty::CrateInherentImpls`
[00:08:57]   --> src/librustc/ty/query/mod.rs:37:23
[00:08:57]    |
[00:08:57] 37 | use crate::ty::{self, CrateInherentImpls, ParamEnvAnd, Ty, TyCtxt, AdtSizedConstraint};
[00:08:57]    |                       ^^^^^^^^^^^^^^^^^^ no `CrateInherentImpls` in `ty`
[00:08:57] error[E0432]: unresolved import `crate::ty::SymbolName`
[00:08:57]  --> src/librustc/mir/mono.rs:6:48
[00:08:57]   |
[00:08:57]   |
[00:08:57] 6 | use crate::ty::{Instance, InstanceDef, TyCtxt, SymbolName, subst::InternalSubsts};
[00:08:57]   |                                                ^^^^^^^^^^ no `SymbolName` in `ty`
[00:08:57] 
[00:09:01] error: cannot find macro `implement_ty_decoder!` in this scope
[00:09:01]    --> src/librustc/ty/query/on_disk_cache.rs:591:1
[00:09:01]     |
[00:09:01] 591 | implement_ty_decoder!(CacheDecoder<'a, 'tcx>);
[00:09:01] 
[00:09:01] 
[00:09:03] error[E0412]: cannot find type `CrateInherentImpls` in module `rustc::ty`
[00:09:03]     |
[00:09:03]     |
[00:09:03] 19  | / macro_rules! arena_types {
[00:09:03] 20  | |     ($macro:path, $args:tt, $tcx:lifetime) => (
[00:09:03] 21  | |         $macro!($args, [
[00:09:03] 22  | |             [] layouts: rustc::ty::layout::LayoutDetails,
[00:09:03] ...   |
[00:09:03] 78  | |             [few] crate_inherent_impls: rustc::ty::CrateInherentImpls,
[00:09:03] ...   |
[00:09:03] 114 | |     )
[00:09:03] 115 | | }
[00:09:03] 115 | | }
[00:09:03]     | |_- in this expansion of `arena_types!`
[00:09:03] ...
[00:09:03] 166 |   arena_types!(declare_arena, [], 'tcx);
[00:09:03] 
[00:09:03] 
[00:09:03] error[E0412]: cannot find type `CrateInherentImpls` in module `rustc::ty`
[00:09:03]     |
[00:09:03]     |
[00:09:03] 19  | / macro_rules! arena_types {
[00:09:03] 20  | |     ($macro:path, $args:tt, $tcx:lifetime) => (
[00:09:03] 21  | |         $macro!($args, [
[00:09:03] 22  | |             [] layouts: rustc::ty::layout::LayoutDetails,
[00:09:03] ...   |
[00:09:03] 78  | |             [few] crate_inherent_impls: rustc::ty::CrateInherentImpls,
[00:09:03] ...   |
[00:09:03] 114 | |     )
[00:09:03] 115 | | }
[00:09:03] 115 | | }
[00:09:03]     | |_- in this expansion of `arena_types!`
[00:09:03] ...
[00:09:03] 168 |   arena_types!(impl_arena_allocatable, [], 'tcx);
[00:09:03] 
[00:09:03] error[E0412]: cannot find type `SymbolName` in module `ty`
[00:09:03]   --> src/librustc/middle/exported_symbols.rs:37:17
[00:09:03]    |
---
[00:09:03] 
[00:09:03] error[E0412]: cannot find type `SymbolName` in module `ty`
[00:09:03]   --> src/librustc/middle/exported_symbols.rs:41:61
[00:09:03]    |
[00:09:03] 41 |     pub fn symbol_name(&self, tcx: TyCtxt<'tcx, '_>) -> ty::SymbolName {
[00:09:03] help: possible candidate is found in another module, you can import it into scope
[00:09:03]    |
[00:09:03] 1  | use backtrace::SymbolName;
[00:09:03]    |
[00:09:03]    |
[00:09:03] 
[00:09:03] error[E0425]: cannot find value `prev_` in this scope
[00:09:03]    --> src/librustc/middle/region.rs:818:18
[00:09:03]     |
[00:09:03] 818 |     visitor.cx = prev_}
[00:09:03] 
[00:09:03] error[E0425]: cannot find value `prev_` in this scope
[00:09:03]    --> src/librustc/middle/region.rs:839:18
[00:09:03]     |
[00:09:03]     |
[00:09:03] 839 |     visitor.cx = prev_}
[00:09:03] 
[00:09:03] error[E0425]: cannot find value `pa` in this scope
[00:09:03]    --> src/librustc/middle/region.rs:855:86
[00:09:03]     |
[00:09:03]     |
[00:09:03] 855 |     debug!("resolve_pat - post-increment {} pat = {:?}", visitor.expr_and_pat_count, pa}
[00:09:03]     |                                                                                      ^^ help: a local variable with a similar name exists: `pat`
[00:09:03] 
[00:09:03] error[E0425]: cannot find value `prev_pare` in this scope
[00:09:03]    --> src/librustc/middle/region.rs:873:25
[00:09:03]     |
[00:09:03] 873 |     visitor.cx.parent = prev_pare}
[00:09:03]     |                         ^^^^^^^^^ help: a local variable with a similar name exists: `prev_parent`
[00:09:03] error[E0425]: cannot find value `prev_` in this scope
[00:09:03]    --> src/librustc/middle/region.rs:975:18
[00:09:03]     |
[00:09:03]     |
[00:09:03] 975 |     visitor.cx = prev_}
[00:09:03] 
[00:09:04] error[E0412]: cannot find type `SymbolName` in module `ty`
[00:09:04] error[E0412]: cannot find type `SymbolName` in module `ty`
[00:09:04]   --> src/librustc/ty/query/values.rs:23:32
[00:09:04]    |
[00:09:04] 23 | impl<'tcx> Value<'tcx> for ty::SymbolName {
[00:09:04] help: possible candidate is found in another module, you can import it into scope
[00:09:04]    |
[00:09:04] 1  | use backtrace::SymbolName;
[00:09:04]    |
[00:09:04]    |
[00:09:04] 
[00:09:04] error[E0422]: cannot find struct, variant or union type `SymbolName` in module `ty`
[00:09:04]   --> src/librustc/ty/query/values.rs:25:13
[00:09:04]    |
[00:09:04] 25 |         ty::SymbolName { name: InternedString::intern("<error>") }
[00:09:04] help: possible candidate is found in another module, you can import it into scope
[00:09:04]    |
[00:09:04] 1  | use backtrace::SymbolName;
[00:09:04]    |
[00:09:04]    |
[00:09:04] 
[00:09:04] error[E0412]: cannot find type `SymbolName` in module `ty`
[00:09:04]     --> src/librustc/query/mod.rs:483:59
[00:09:04]      |
[00:09:04] 32   |  / rustc_queries! {
[00:09:04] 34   |  |         /// Records the type of every item.
[00:09:04] 34   |  |         /// Records the type of every item.
[00:09:04] 35   |  |         query type_of(key: DefId) -> Ty<'tcx> {
[00:09:04] ...     |
[00:09:04] 483  |  |         query symbol_name(key: ty::Instance<'tcx>) -> ty::SymbolName {
[00:09:04] ...     |
[00:09:04] 1092 |  |     }
[00:09:04] 1093 |  | }
[00:09:04] 1093 |  | }
[00:09:04]      |  |_- in this expansion of `rustc_query_append!`
[00:09:04]     ::: src/librustc/ty/query/mod.rs:101:1
[00:09:04]      |
[00:09:04]      |
[00:09:04] 101  | /  rustc_query_append! { [define_queries!][ <'tcx>
[00:09:04] 103  | |          /// Runs analysis passes on the crate.
[00:09:04] 103  | |          /// Runs analysis passes on the crate.
[00:09:04] 104  | |          [] fn analysis: Analysis(CrateNum) -> Result<(), ErrorReported>,
[00:09:04] 106  | |  ]}
[00:09:04]      | |___- in this macro invocation
[00:09:04] help: possible candidate is found in another module, you can import it into scope
[00:09:04]      |
[00:09:04]      |
[00:09:04] 1    | use backtrace::SymbolName;
[00:09:04]      |
[00:09:04] 
[00:09:04] error[E0425]: cannot find function `is_impl_trait_defn` in module `super`
[00:09:04]    --> src/librustc/ty/wf.rs:366:31
[00:09:04]     |
[00:09:04] 366 |                     if super::is_impl_trait_defn(self.infcx.tcx, did).is_none() {
[00:09:04]     |                               ^^^^^^^^^^^^^^^^^^ not found in `super`
[00:09:04] error[E0412]: cannot find type `SymbolName` in module `self`
[00:09:04]     --> src/librustc/ty/mod.rs:3405:36
[00:09:04]      |
[00:09:04]      |
[00:09:04] 3405 | impl_stable_hash_for!(struct self::SymbolName {
[00:09:04] help: possible candidate is found in another module, you can import it into scope
[00:09:04]      |
[00:09:04] 5    | use backtrace::SymbolName;
[00:09:04]      |
[00:09:04]      |
[00:09:04] 
[00:09:04] error[E0422]: cannot find struct, variant or union type `SymbolName` in module `self`
[00:09:04]     --> src/librustc/ty/mod.rs:3405:36
[00:09:04]      |
[00:09:04] 3405 | impl_stable_hash_for!(struct self::SymbolName {
[00:09:04] help: possible candidate is found in another module, you can import it into scope
[00:09:04]      |
[00:09:04] 5    | use backtrace::SymbolName;
[00:09:04]      |
[00:09:04]      |
[00:09:04] 
[00:09:05] error: unused import: `DefId`
[00:09:05]   --> src/librustc/ty/codec.rs:10:26
[00:09:05]    |
[00:09:05] 10 | use crate::hir::def_id::{DefId, CrateNum};
[00:09:05]    |
[00:09:05]    = note: `-D unused-imports` implied by `-D warnings`
[00:09:05] 
[00:09:05] 
[00:09:05] error: unused imports: `CanonicalVarInfo`, `CanonicalVarInfos`
[00:09:05]   --> src/librustc/ty/codec.rs:11:31
[00:09:05]    |
[00:09:05] 11 | use crate::infer::canonical::{CanonicalVarInfo, CanonicalVarInfos};
[00:09:05] 
[00:09:05] 
[00:09:05] error: unused import: `crate::ty::subst::SubstsRef`
[00:09:05]   --> src/librustc/ty/codec.rs:17:5
[00:09:05]    |
[00:09:05] 17 | use crate::ty::subst::SubstsRef;
[00:09:05] 
[00:09:05] error: unused import: `crate::mir::interpret::Allocation`
[00:09:05]   --> src/librustc/ty/codec.rs:18:5
[00:09:05]    |
[00:09:05]    |
[00:09:05] 18 | use crate::mir::interpret::Allocation;
[00:09:05]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[00:09:05] 
[00:09:09] error[E0277]: the trait bound `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>: rustc_serialize::Decoder` is not satisfied
[00:09:09]    --> src/librustc/ty/query/on_disk_cache.rs:504:16
[00:09:09]     |
[00:09:09] 504 | impl<'a, 'tcx> DecoderWithPosition for CacheDecoder<'a, 'tcx> {
[00:09:09]     |                ^^^^^^^^^^^^^^^^^^^ the trait `rustc_serialize::Decoder` is not implemented for `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>`
[00:09:09] 
[00:09:09] error[E0277]: the trait bound `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>: rustc_serialize::Decoder` is not satisfied
[00:09:09]    --> src/librustc/ty/query/on_disk_cache.rs:533:16
[00:09:09]     |
[00:09:09] 533 | impl<'a, 'tcx> ty_codec::TyDecoder<'tcx> for CacheDecoder<'a, 'tcx> {
[00:09:09]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `rustc_serialize::Decoder` is not implemented for `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>`
[00:09:09] 
[00:09:09] error[E0277]: the trait bound `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>: rustc_serialize::Decoder` is not satisfied
[00:09:09]    --> src/librustc/ty/query/on_disk_cache.rs:593:16
[00:09:09]     |
[00:09:09] 593 | impl<'a, 'tcx> SpecializedDecoder<interpret::AllocId> for CacheDecoder<'a, 'tcx> {
[00:09:09]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `rustc_serialize::Decoder` is not implemented for `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>`
[00:09:09] 
[00:09:09] error[E0277]: the trait bound `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>: rustc_serialize::Decoder` is not satisfied
[00:09:09]    --> src/librustc/ty/query/on_disk_cache.rs:600:16
[00:09:09]     |
[00:09:09] 600 | impl<'a, 'tcx> SpecializedDecoder<Span> for CacheDecoder<'a, 'tcx> {
[00:09:09]     |                ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `rustc_serialize::Decoder` is not implemented for `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>`
[00:09:09] 
[00:09:09] error[E0277]: the trait bound `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>: rustc_serialize::Decoder` is not satisfied
[00:09:09]    --> src/librustc/ty/query/on_disk_cache.rs:663:16
[00:09:09]     |
[00:09:09] 663 | impl<'a, 'tcx> SpecializedDecoder<DefIndex> for CacheDecoder<'a, 'tcx> {
[00:09:09]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `rustc_serialize::Decoder` is not implemented for `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>`
[00:09:09] 
[00:09:09] error[E0277]: the trait bound `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>: rustc_serialize::Decoder` is not satisfied
[00:09:09]    --> src/librustc/ty/query/on_disk_cache.rs:672:16
[00:09:09]     |
[00:09:09] 672 | impl<'a, 'tcx> SpecializedDecoder<DefId> for CacheDecoder<'a, 'tcx> {
[00:09:09]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `rustc_serialize::Decoder` is not implemented for `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>`
[00:09:09] 
[00:09:09] error[E0277]: the trait bound `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>: rustc_serialize::Decoder` is not satisfied
[00:09:09]    --> src/librustc/ty/query/on_disk_cache.rs:683:16
[00:09:09]     |
[00:09:09] 683 | impl<'a, 'tcx> SpecializedDecoder<LocalDefId> for CacheDecoder<'a, 'tcx> {
[00:09:09]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `rustc_serialize::Decoder` is not implemented for `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>`
[00:09:09] 
[00:09:09] error[E0277]: the trait bound `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>: rustc_serialize::Decoder` is not satisfied
[00:09:09]    --> src/librustc/ty/query/on_disk_cache.rs:690:16
[00:09:09]     |
[00:09:09] 690 | impl<'a, 'tcx> SpecializedDecoder<hir::HirId> for CacheDecoder<'a, 'tcx> {
[00:09:09]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `rustc_serialize::Decoder` is not implemented for `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>`
[00:09:09] 
[00:09:09] error[E0277]: the trait bound `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>: rustc_serialize::Decoder` is not satisfied
[00:09:09]    --> src/librustc/ty/query/on_disk_cache.rs:717:16
[00:09:09]     |
[00:09:09] 717 | impl<'a, 'tcx> SpecializedDecoder<NodeId> for CacheDecoder<'a, 'tcx> {
[00:09:09]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `rustc_serialize::Decoder` is not implemented for `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>`
[00:09:09] 
[00:09:09] error[E0277]: the trait bound `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>: rustc_serialize::Decoder` is not satisfied
[00:09:09]    --> src/librustc/ty/query/on_disk_cache.rs:725:16
[00:09:09]     |
[00:09:09] 725 | impl<'a, 'tcx> SpecializedDecoder<Fingerprint> for CacheDecoder<'a, 'tcx> {
[00:09:09]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `rustc_serialize::Decoder` is not implemented for `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>`
[00:09:09] 
[00:09:09] error[E0277]: the trait bound `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>: rustc_serialize::Decoder` is not satisfied
[00:09:09]    --> src/librustc/ty/query/on_disk_cache.rs:731:30
[00:09:09]     |
[00:09:09] 731 | impl<'a, 'tcx, T: Decodable> SpecializedDecoder<mir::ClearCrossCrate<T>>
[00:09:09]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `rustc_serialize::Decoder` is not implemented for `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>`
[00:09:09] 
[00:09:10] error[E0277]: the trait bound `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>: rustc_serialize::Decoder` is not satisfied
[00:09:10]    --> src/librustc/ty/query/on_disk_cache.rs:549:5
[00:09:10]     |
[00:09:10] 549 | /     fn cached_ty_for_shorthand<F>(&mut self,
[00:09:10] 550 | |                                   shorthand: usize,
[00:09:10] 551 | |                                   or_insert_with: F)
[00:09:10] 552 | |                                   -> Result<Ty<'tcx>, Self::Error>
[00:09:10] 569 | |         Ok(ty)
[00:09:10] 570 | |     }
[00:09:10] 570 | |     }
[00:09:10]     | |_____^ the trait `rustc_serialize::Decoder` is not implemented for `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>`
[00:09:10] 
[00:09:10] error[E0277]: the trait bound `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>: rustc_serialize::Decoder` is not satisfied
[00:09:10]    --> src/librustc/ty/query/on_disk_cache.rs:594:5
[00:09:10]     |
[00:09:10] 594 | /     fn specialized_decode(&mut self) -> Result<interpret::AllocId, Self::Error> {
[00:09:10] 595 | |         let alloc_decoding_session = self.alloc_decoding_session;
[00:09:10] 596 | |         alloc_decoding_session.decode_alloc_id(self)
[00:09:10] 597 | |     }
[00:09:10]     | |_____^ the trait `rustc_serialize::Decoder` is not implemented for `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>`
[00:09:10] 
[00:09:10] error[E0277]: the trait bound `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>: rustc_serialize::Decoder` is not satisfied
[00:09:10]    --> src/librustc/ty/query/on_disk_cache.rs:601:5
[00:09:10] 601 | /     fn specialized_decode(&mut self) -> Result<Span, Self::Error> {
[00:09:10] 601 | /     fn specialized_decode(&mut self) -> Result<Span, Self::Error> {
[00:09:10] 602 | |         let tag: u8 = Decodable::decode(self)?;
[00:09:10] 603 | |
[00:09:10] 604 | |         if tag == TAG_INVALID_SPAN {
[00:09:10] ...   |
[00:09:10] 655 | |         Ok(Span::new(lo, hi, ctxt))
[00:09:10] 656 | |     }
[00:09:10]     | |_____^ the trait `rustc_serialize::Decoder` is not implemented for `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>`
[00:09:10] 
[00:09:10] error[E0277]: the trait bound `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>: rustc_serialize::Decoder` is not satisfied
[00:09:10]    --> src/librustc/ty/query/on_disk_cache.rs:664:5
[00:09:10]     |
[00:09:10] 664 | /     fn specialized_decode(&mut self) -> Result<DefIndex, Self::Error> {
[00:09:10] 665 | |         bug!("Trying to decode DefIndex outside the context of a DefId")
[00:09:10] 666 | |     }
[00:09:10]     | |_____^ the trait `rustc_serialize::Decoder` is not implemented for `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>`
[00:09:10] 
[00:09:10] error[E0277]: the trait bound `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>: rustc_serialize::Decoder` is not satisfied
[00:09:10]    --> src/librustc/ty/query/on_disk_cache.rs:674:5
[00:09:10] 674 | /     fn specialized_decode(&mut self) -> Result<DefId, Self::Error> {
[00:09:10] 674 | /     fn specialized_decode(&mut self) -> Result<DefId, Self::Error> {
[00:09:10] 675 | |         // Load the DefPathHash which is was we encoded the DefId as.
[00:09:10] 676 | |         let def_path_hash = DefPathHash::decode(self)?;
[00:09:10] 677 | |
[00:09:10] 678 | |         // Using the DefPathHash, we can lookup the new DefId
[00:09:10] 679 | |         Ok(self.tcx().def_path_hash_to_def_id.as_ref().unwrap()[&def_path_hash])
[00:09:10] 680 | |     }
[00:09:10]     | |_____^ the trait `rustc_serialize::Decoder` is not implemented for `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>`
[00:09:10] 
[00:09:10] error[E0277]: the trait bound `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>: rustc_serialize::Decoder` is not satisfied
[00:09:10]    --> src/librustc/ty/query/on_disk_cache.rs:685:5
[00:09:10]     |
[00:09:10] 685 | /     fn specialized_decode(&mut self) -> Result<LocalDefId, Self::Error> {
[00:09:10] 686 | |         Ok(LocalDefId::from_def_id(DefId::decode(self)?))
[00:09:10] 687 | |     }
[00:09:10]     | |_____^ the trait `rustc_serialize::Decoder` is not implemented for `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>`
[00:09:10] 
[00:09:10] error[E0277]: the trait bound `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>: rustc_serialize::Decoder` is not satisfied
[00:09:10]    --> src/librustc/ty/query/on_disk_cache.rs:691:5
[00:09:10]     |
[00:09:10] 691 | /     fn specialized_decode(&mut self) -> Result<hir::HirId, Self::Error> {
[00:09:10] 692 | |         // Load the DefPathHash which is was we encoded the DefIndex as.
[00:09:10] 693 | |         let def_path_hash = DefPathHash::decode(self)?;
[00:09:10] ...   |
[00:09:10] 711 | |         })
[00:09:10] 712 | |     }
[00:09:10] 712 | |     }
[00:09:10]     | |_____^ the trait `rustc_serialize::Decoder` is not implemented for `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>`
[00:09:10] 
[00:09:10] error[E0277]: the trait bound `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>: rustc_serialize::Decoder` is not satisfied
[00:09:10]    --> src/librustc/ty/query/on_disk_cache.rs:719:5
[00:09:10]     |
[00:09:10] 719 | /     fn specialized_decode(&mut self) -> Result<NodeId, Self::Error> {
[00:09:10] 720 | |         let hir_id = hir::HirId::decode(self)?;
[00:09:10] 721 | |         Ok(self.tcx().hir().hir_to_node_id(hir_id))
[00:09:10] 722 | |     }
[00:09:10]     | |_____^ the trait `rustc_serialize::Decoder` is not implemented for `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>`
[00:09:10] 
[00:09:10] error[E0277]: the trait bound `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>: rustc_serialize::Decoder` is not satisfied
[00:09:10]    --> src/librustc/ty/query/on_disk_cache.rs:726:5
[00:09:10]     |
[00:09:10] 726 | /     fn specialized_decode(&mut self) -> Result<Fingerprint, Self::Error> {
[00:09:10] 727 | |         Fingerprint::decode_opaque(&mut self.opaque)
[00:09:10] 728 | |     }
[00:09:10]     | |_____^ the trait `rustc_serialize::Decoder` is not implemented for `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>`
[00:09:10] 
[00:09:10] error[E0277]: the trait bound `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>: rustc_serialize::Decoder` is not satisfied
[00:09:10]    --> src/librustc/ty/query/on_disk_cache.rs:735:5
[00:09:10]     |
[00:09:10] 735 | /     fn specialized_decode(&mut self) -> Result<mir::ClearCrossCrate<T>, Self::Error> {
[00:09:10] 736 | |         let discr = u8::decode(self)?;
[00:09:10] 738 | |         match discr {
[00:09:10] ...   |
[00:09:10] 747 | |         }
[00:09:10] 748 | |     }
[00:09:10] 748 | |     }
[00:09:10]     | |_____^ the trait `rustc_serialize::Decoder` is not implemented for `ty::query::on_disk_cache::CacheDecoder<'a, 'tcx>`
[00:09:11] error: aborting due to 53 previous errors
[00:09:11] 
[00:09:11] Some errors have detailed explanations: E0277, E0412, E0422, E0425, E0432.
[00:09:11] For more information about an error, try `rustc --explain E0277`.
---
travis_time:end:02343db0:start=1560288219650448471,finish=1560288219655488992,duration=5040521
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:011c324f
$ 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:23e6ce2e

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 was marked as resolved.

Copy link
Contributor

commented Jun 11, 2019

@eddyb

This comment was marked as resolved.

Copy link
Member Author

commented Jun 11, 2019

@estebank Maybe passing --file-lines makes it pick lines to change in an incorrect way.

@bors

This comment was marked as resolved.

Copy link
Contributor

commented Jun 12, 2019

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

@eddyb eddyb force-pushed the eddyb:vowel-exclusion-zone branch 2 times, most recently from 8af839a to 18f8668 Jun 12, 2019

@eddyb eddyb force-pushed the eddyb:vowel-exclusion-zone branch from 18f8668 to fff08cb Jun 12, 2019

@oli-obk
Copy link
Contributor

left a comment

r=me with leftover unnecessary lifetimes removed

@@ -494,11 +494,11 @@ impl VidValuePair<'tcx> for (Ty<'tcx>, ty::TyVid) {
}
}

impl<D> TypeRelation<'me, 'gcx, 'tcx> for TypeRelating<'me, 'gcx, 'tcx, D>
impl<D> TypeRelation<'gcx, 'tcx> for TypeRelating<'me, 'gcx, 'tcx, D>

This comment has been minimized.

Copy link
@oli-obk

oli-obk Jun 12, 2019

Contributor

The 'me lifetime can be '_ here.

This comment has been minimized.

Copy link
@eddyb

eddyb Jun 12, 2019

Author Member

I believe that'd be handled by the "single-use lifetime" lint, which we haven't turned on yet.

Show resolved Hide resolved src/librustc_codegen_llvm/base.rs Outdated
Show resolved Hide resolved src/librustc_codegen_llvm/base.rs Outdated
@eddyb

This comment has been minimized.

Copy link
Member Author

commented Jun 12, 2019

@bors rollup=never p=10 (high bitrot probability)

@eddyb

This comment has been minimized.

Copy link
Member Author

commented Jun 12, 2019

@bors r=oli-obk

@bors

This comment has been minimized.

Copy link
Contributor

commented Jun 12, 2019

📌 Commit 4c98cb6 has been approved by oli-obk

@rust-highfive

This comment was marked as spam.

Copy link
Collaborator

commented Jun 12, 2019

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.
Need to get 2,649 kB of archives.
After this operation, 7,904 kB of additional disk space will be used.
Ign:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libbabeltrace1 amd64 1.3.2-1
Ign:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libbabeltrace-ctf1 amd64 1.3.2-1
Err:3 http://security.ubuntu.com/ubuntu xenial-security/main amd64 gdb amd64 7.11.1-0ubuntu1~16.5
  Unable to connect to apt.cache.travis-ci.com:http:
Ign:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libbabeltrace-ctf1 amd64 1.3.2-1
Ign:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libbabeltrace1 amd64 1.3.2-1
Ign:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libbabeltrace-ctf1 amd64 1.3.2-1
Ign:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libbabeltrace1 amd64 1.3.2-1
Ign:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libbabeltrace1 amd64 1.3.2-1
Ign:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libbabeltrace-ctf1 amd64 1.3.2-1
Ign:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libbabeltrace1 amd64 1.3.2-1
Ign:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libbabeltrace-ctf1 amd64 1.3.2-1
Err:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libbabeltrace1 amd64 1.3.2-1
  Could not connect to apt.cache.travis-ci.com:80 (34.96.81.152), connection timed out
Err:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libbabeltrace-ctf1 amd64 1.3.2-1
  Unable to connect to apt.cache.travis-ci.com:http:
Err:3 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 gdb amd64 7.11.1-0ubuntu1~16.5
  Unable to connect to apt.cache.travis-ci.com:http:
Err:3 http://security.ubuntu.com/ubuntu xenial-security/main amd64 gdb amd64 7.11.1-0ubuntu1~16.5
  Unable to connect to apt.cache.travis-ci.com:http:
Err:3 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 gdb amd64 7.11.1-0ubuntu1~16.5
  Unable to connect to apt.cache.travis-ci.com:http:
Err:3 http://security.ubuntu.com/ubuntu xenial-security/main amd64 gdb amd64 7.11.1-0ubuntu1~16.5
  Unable to connect to apt.cache.travis-ci.com:http:
Err:3 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 gdb amd64 7.11.1-0ubuntu1~16.5
  Unable to connect to apt.cache.travis-ci.com:http:
Err:3 http://security.ubuntu.com/ubuntu xenial-security/main amd64 gdb amd64 7.11.1-0ubuntu1~16.5
  Unable to connect to apt.cache.travis-ci.com:http:
Err:3 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 gdb amd64 7.11.1-0ubuntu1~16.5
  Unable to connect to apt.cache.travis-ci.com:http:
Err:3 http://security.ubuntu.com/ubuntu xenial-security/main amd64 gdb amd64 7.11.1-0ubuntu1~16.5
  Unable to connect to apt.cache.travis-ci.com:http:
Err:3 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 gdb amd64 7.11.1-0ubuntu1~16.5
  Unable to connect to apt.cache.travis-ci.com:http:
Err:3 http://security.ubuntu.com/ubuntu xenial-security/main amd64 gdb amd64 7.11.1-0ubuntu1~16.5
  Unable to connect to apt.cache.travis-ci.com:http:
Err:3 http://security.ubuntu.com/ubuntu xenial-security/main amd64 gdb amd64 7.11.1-0ubuntu1~16.5
  Unable to connect to apt.cache.travis-ci.com:http:
E: Failed to fetch http://us-east-1.ec2.archive.ubuntu.com/ubuntu/pool/main/b/babeltrace/libbabeltrace1_1.3.2-1_amd64.deb  Could not connect to apt.cache.travis-ci.com:80 (34.96.81.152), connection timed out
E: Failed to fetch http://us-east-1.ec2.archive.ubuntu.com/ubuntu/pool/main/b/babeltrace/libbabeltrace-ctf1_1.3.2-1_amd64.deb  Unable to connect to apt.cache.travis-ci.com:http:
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/g/gdb/gdb_7.11.1-0ubuntu1~16.5_amd64.deb  Unable to connect to apt.cache.travis-ci.com:http:
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
travis_fold:start:apt-get.diagnostics
apt-get install failed
apt-get install failed
$ cat ${TRAVIS_HOME}/apt-get-update.log
Get:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial InRelease [247 kB]
Get:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial InRelease [247 kB]
Get:3 http://apt.postgresql.org/pub/repos/apt xenial-pgdg InRelease [51.5 kB]
Get:5 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]
Get:5 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]
Get:6 http://apt.postgresql.org/pub/repos/apt xenial-pgdg/main amd64 Packages [205 kB]
Get:7 http://apt.postgresql.org/pub/repos/apt xenial-pgdg/main i386 Packages [204 kB]
Get:8 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main Sources [1,103 kB]
Get:9 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/restricted Sources [5,179 B]
Get:10 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/universe Sources [9,802 kB]
Get:12 http://security.ubuntu.com/ubuntu xenial-security/restricted Sources [2,243 B]
Get:13 http://security.ubuntu.com/ubuntu xenial-security/universe Sources [130 kB]
Get:14 http://security.ubuntu.com/ubuntu xenial-security/multiverse Sources [3,516 B]
Get:15 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [857 kB]
Get:15 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [857 kB]
Get:16 http://security.ubuntu.com/ubuntu xenial-security/main i386 Packages [704 kB]
Get:17 http://security.ubuntu.com/ubuntu xenial-security/main Translation-en [382 kB]
Get:18 http://security.ubuntu.com/ubuntu xenial-security/restricted amd64 Packages [12.7 kB]
Get:19 http://security.ubuntu.com/ubuntu xenial-security/restricted i386 Packages [12.7 kB]
Get:20 http://security.ubuntu.com/ubuntu xenial-security/restricted Translation-en [2,204 B]
Get:22 http://security.ubuntu.com/ubuntu xenial-security/universe i386 Packages [482 kB]
Get:23 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/multiverse Sources [215 kB]
Get:24 http://security.ubuntu.com/ubuntu xenial-security/universe Translation-en [240 kB]
Get:25 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 Packages [1,558 kB]
Get:25 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 Packages [1,558 kB]
Get:26 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main i386 Packages [1,552 kB]
Get:27 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [6,113 B]
Get:28 http://security.ubuntu.com/ubuntu xenial-security/multiverse i386 Packages [6,296 B]
Get:29 http://security.ubuntu.com/ubuntu xenial-security/multiverse Translation-en [2,699 B]
Get:30 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main Translation-en [799 kB]
Get:32 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/restricted i386 Packages [14.5 kB]
Get:32 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/restricted i386 Packages [14.5 kB]
Get:33 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/restricted Translation-en [3,019 B]
Get:34 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages [9,827 kB]
Get:35 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/universe i386 Packages [9,804 kB]
Get:36 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/universe Translation-en [6,256 kB]
Get:38 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/multiverse i386 Packages [172 kB]
Get:39 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/multiverse Translation-en [131 kB]
Get:40 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main Sources [425 kB]
Get:41 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/restricted Sources [2,696 B]
Get:41 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/restricted Sources [2,696 B]
Get:42 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/universe Sources [321 kB]
Get:43 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/multiverse Sources [9,426 B]
Get:44 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [1,250 kB]
Get:45 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main i386 Packages [1,071 kB]
Get:46 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main Translation-en [545 kB]
Get:47 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/restricted amd64 Packages [13.1 kB]
Get:48 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/restricted i386 Packages [13.1 kB]
Get:49 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/restricted Translation-en [2,337 B]
Get:51 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/universe i386 Packages [884 kB]
Get:52 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/universe Translation-en [426 kB]
Get:53 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages [19.1 kB]
Get:54 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/multiverse i386 Packages [17.9 kB]
Get:54 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/multiverse i386 Packages [17.9 kB]
Get:55 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/multiverse Translation-en [8,978 B]
Get:56 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-backports/main Sources [5,073 B]
Get:57 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-backports/universe Sources [7,237 B]
Get:58 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages [7,942 B]
Get:59 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-backports/main i386 Packages [7,942 B]
Get:60 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-backports/main Translation-en [4,571 B]
Get:61 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-backports/universe amd64 Packages [8,532 B]
Get:62 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-backports/universe i386 Packages [8,172 B]
Get:63 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-backports/universe Translation-en [4,275 B]
Reading package lists...
travis_fold:end:apt-get.diagnostics
travis_fold:end:apt-get.diagnostics
The command "sudo -E apt-get -yq --no-install-suggests --no-install-recommends $(travis_apt_get_options) install gdb" failed and exited with 100 during .
Your build has been stopped.

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 has been minimized.

Copy link
Contributor

commented Jun 12, 2019

⌛️ Testing commit 4c98cb6 with merge 24ddd16...

bors added a commit that referenced this pull request Jun 12, 2019

Auto merge of #61722 - eddyb:vowel-exclusion-zone, r=oli-obk
rustc: replace `TyCtxt<'a, 'gcx, 'tcx>` with `TyCtxt<'gcx, 'tcx>`.

This first lifetime parameter of `TyCtxt` has been phantom for a while, thanks to @Zoxc, but was never removed, and I'm doing this now in preparation for removing the `'gcx`/`'tcx` split.

I wasn't going to do this as a separate step, and instead start converting uses of `TyCtxt` to a single-lifetime alias of it (e.g. `type TyCx<'tcx> = TyCtxt<'tcx, 'tcx, 'tcx>;`) but it turns out (as @Zoxc rightly predicted) that there is far more fallout from not needing a lifetime for the first parameter of `TyCtxt`.

That is, going from `TyCtxt<'a, 'gcx, 'tcx>` to `TyCtxt<'tcx, 'gcx, 'tcx>` (the first commit in this PR) has the largest amount of fallout out of all the changes we might make (because it can require removing the `'a` parameter of `struct`s containing `tcx: TyCtxt<'a, ...>`), and is the hardest to automate (because `'a` is used everywhere, not just with `TyCtxt`, unlike, say `'gcx, 'tcx` -> `'tcx`).

So I'm submitting this now to get it out of the way and reduce further friction in the future.

**EDIT**: for the `rustfmt` commit, I used rust-lang/rustfmt#1324 (comment), and manually filtered out some noise, like in #61735, but unlike that PR, there was also a weird bug to work around.
It should be reviewed separately, and dropped if unwanted.

cc @rust-lang/compiler r? @nikomatsakis
@bors

This comment has been minimized.

Copy link
Contributor

commented Jun 12, 2019

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

@bors bors added the merged-by-bors label Jun 12, 2019

@bors bors merged commit 4c98cb6 into rust-lang:master Jun 12, 2019

1 of 3 checks passed

Travis CI - Pull Request Build Errored
Details
Travis CI - Pull Request Build Created
Details
homu Test successful
Details
@rust-highfive

This comment has been minimized.

Copy link
Collaborator

commented Jun 12, 2019

📣 Toolstate changed by #61722!

Tested on commit 24ddd16.
Direct link to PR: #61722

💔 rls on linux: test-pass → test-fail (cc @Xanewok, @rust-lang/infra).

rust-highfive added a commit to rust-lang-nursery/rust-toolstate that referenced this pull request Jun 12, 2019

📣 Toolstate changed by rust-lang/rust#61722!
Tested on commit rust-lang/rust@24ddd16.
Direct link to PR: <rust-lang/rust#61722>

💔 rls on linux: test-pass → test-fail (cc @Xanewok, @rust-lang/infra).

@eddyb eddyb deleted the eddyb:vowel-exclusion-zone branch Jun 12, 2019

bors added a commit to rust-lang/rust-clippy that referenced this pull request Jun 12, 2019

Auto merge of #4200 - lzutao:tyctxt-lifetime, r=phansch
Fix wrong lifetime of TyCtxt

Rustup rust-lang/rust#61722

changelog: none

bors added a commit to rust-lang/rust-clippy that referenced this pull request Jun 12, 2019

Auto merge of #4200 - lzutao:tyctxt-lifetime, r=phansch
Fix wrong lifetime of TyCtxt

Rustup rust-lang/rust#61722

changelog: none

bors added a commit to rust-lang/rust-clippy that referenced this pull request Jun 12, 2019

Auto merge of #4200 - lzutao:tyctxt-lifetime, r=matthiaskrgr
Fix wrong lifetime of TyCtxt

Rustup rust-lang/rust#61722

changelog: none

@RalfJung RalfJung referenced this pull request Jun 13, 2019

Merged

update miri #61743

@nikomatsakis nikomatsakis referenced this pull request Jun 14, 2019

Closed

Transition the compiler arenas #61838

4 of 4 tasks complete

bors added a commit that referenced this pull request Jun 14, 2019

Auto merge of #61817 - eddyb:begone-gcx-attempt-2, r=oli-obk
Unify all uses of 'gcx and 'tcx.

This is made possible by @Zoxc landing #57214 (see #57214 (comment) for the decision).

A bit of context for the approach: just like #61722, this is *not* how I originally intended to go about this, but @Zoxc and my own experimentation independently resulted in the same conclusion:
The interim alias `type TyCx<'tcx> = TyCtxt<'tcx, 'tcx>;` attempt required more work (adding `use`s), even only for handling the `TyCtxt<'tcx, 'tcx>` case and not the general `TyCtxt<'gcx, 'tcx>` one.

What this PR is based on is the realization that `'gcx` is a special-enough name that it can be replaced, without caring for context, with `'tcx`, and then repetitions of the name `'tcx` be compacted away.
After that, only a small number of error categories remained, each category easily dealt with with either more mass replacements (e.g. `TyCtxt<'tcx, '_>` -> `TyCtxt<'tcx>`) or by hand.

For the `rustfmt` commit, I used rust-lang/rustfmt#1324 (comment), and manually filtered out some noise, like in #61735 and #61722, and like the latter, there was also a weird bug to work around.
It should be reviewed separately, and dropped if unwanted (in this PR it's pretty significant).

cc @rust-lang/compiler r? @nikomatsakis
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.