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

Use dataflow to propagate Qualifs during const-qualification #63860

Closed
wants to merge 8 commits into from

Conversation

ecstatic-morse
Copy link
Contributor

@ecstatic-morse ecstatic-morse commented Aug 24, 2019

Edit: See #64470 for the most recent implementation of dataflow-based const qualification.

In order to support arbitrary control-flow in consts (#49146, #52000, etc.), we need to extend the analysis that ensures const-safety to be flow-sensitive. Although a generic framework for bit-vector dataflow analysis already exists in rustc, dataflow-based const qualification requires copying dataflow state between locals, which cannot be expressed as a gen/kill set (at least directly, see #62547).

This PR introduces a more generic dataflow implementation which allows a consumer to define arbitrary transfer functions. This analysis is not as generic as possible: it still requires that the domain of the analysis be a bitset, while analyses like const-propagation require a more complex lattice. In a later PR, the existing bit-vector framework could be folded into this one via an adapter, since they currently share a lot of code.

One reason progress in this area has been so slow is that the current qualify_consts pass is doing many things at once. The same Visitor is responsible for:

  • Propagating Qualifs between locals.
  • Checking for invalid operations (like taking a mutable reference to a non-ZST or dropping a value that is NeedsDrop).
  • Identifying candidates for promotion.

The goal of this PR is to separate the first task from the latter two while preserving the existing behavior of the const-checker (@eddyb is working to separate promotion in #63812). To accomplish this, we implement a dataflow analysis pass that propagates Qualifs between consts. This analysis is run to fixpoint before the const checker validates the MIR statement-by-statement.

However, promotion adds another layer of complexity. Because the const-checker is used to identify candidates for promotion, this pass must run even on non-const functions. Since promotion is viable only for temporary variables that are assigned to exactly once, there is no need to run the full dataflow-based qualif propagator (you can read @eddyb's notes in #63812 for more info). Instead, we abstract over the new FlowSensitiveResolver and a TempOnlyResolver (not yet implemented) that is equivalent to the old qualif propagator with the QualifResolver trait. Even when #63812 lands and the IsNotPromotable qualif is handled elsewhere, we will still need this abstraction to calculate the state of HasMutInterior and NeedsDrop for temps in non-const functions.

r? @eddyb

Disclaimer:

Large parts of this PR may change before being merged, and fixing small style issues may not be the best use of reviewer time. However, comments on the high-level approach and the modifications to the Qualif trait , especially the naming of in_any_const_safe_value_of, would be greatly appreciated.

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Aug 24, 2019
@rust-highfive
Copy link
Collaborator

The job mingw-check of your PR failed (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.
2019-08-24T18:03:01.9292879Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-08-24T18:03:01.9509219Z ##[command]git config gc.auto 0
2019-08-24T18:03:01.9554357Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-08-24T18:03:01.9613026Z ##[command]git config --get-all http.proxy
2019-08-24T18:03:01.9753327Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/63860/merge:refs/remotes/pull/63860/merge
---
2019-08-24T18:03:36.5101381Z do so (now or later) by using -b with the checkout command again. Example:
2019-08-24T18:03:36.5102290Z 
2019-08-24T18:03:36.5103450Z   git checkout -b <new-branch-name>
2019-08-24T18:03:36.5104314Z 
2019-08-24T18:03:36.5105064Z HEAD is now at 15593fcee Merge 24cf5ffa00e681c6cf873cd80c4dc8976b0e14ff into 5ade61a4f1515d4a18f38dacdbdb592bfd384a84
2019-08-24T18:03:36.5294276Z ##[section]Starting: Collect CPU-usage statistics in the background
2019-08-24T18:03:36.5296878Z ==============================================================================
2019-08-24T18:03:36.5296948Z Task         : Bash
2019-08-24T18:03:36.5296990Z Description  : Run a Bash script on macOS, Linux, or Windows
---
2019-08-24T18:12:08.4931222Z     Checking rustc_traits v0.0.0 (/checkout/src/librustc_traits)
2019-08-24T18:12:09.1175052Z error: unused variable: `index`
2019-08-24T18:12:09.1175687Z     --> src/librustc_mir/transform/qualify_consts.rs:1301:13
2019-08-24T18:12:09.1175952Z      |
2019-08-24T18:12:09.1176941Z 1301 |         let index = loop {
2019-08-24T18:12:09.1177289Z      |             ^^^^^ help: consider prefixing with an underscore: `_index`
2019-08-24T18:12:09.1177868Z      = note: `-D unused-variables` implied by `-D warnings`
2019-08-24T18:12:09.1183295Z 
2019-08-24T18:12:09.7418139Z     Checking rustc_codegen_utils v0.0.0 (/checkout/src/librustc_codegen_utils)
2019-08-24T18:12:10.3372820Z     Checking rustc_plugin_impl v0.0.0 (/checkout/src/librustc_plugin)
---
2019-08-24T18:12:18.1705613Z == clock drift check ==
2019-08-24T18:12:18.1722147Z   local time: Sat Aug 24 18:12:18 UTC 2019
2019-08-24T18:12:18.3047865Z   network time: Sat, 24 Aug 2019 18:12:18 GMT
2019-08-24T18:12:18.3050187Z == end clock drift check ==
2019-08-24T18:12:19.0330106Z ##[error]Bash exited with code '1'.
2019-08-24T18:12:19.0368272Z ##[section]Starting: Checkout
2019-08-24T18:12:19.0370103Z ==============================================================================
2019-08-24T18:12:19.0370172Z Task         : Get sources
2019-08-24T18:12:19.0370214Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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

@rust-highfive
Copy link
Collaborator

The job mingw-check of your PR failed (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.
2019-08-26T06:06:21.7197050Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-08-26T06:06:21.7414607Z ##[command]git config gc.auto 0
2019-08-26T06:06:21.7509332Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-08-26T06:06:21.7569327Z ##[command]git config --get-all http.proxy
2019-08-26T06:06:21.7725312Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/63860/merge:refs/remotes/pull/63860/merge
---
2019-08-26T06:06:57.3664025Z do so (now or later) by using -b with the checkout command again. Example:
2019-08-26T06:06:57.3664063Z 
2019-08-26T06:06:57.3664306Z   git checkout -b <new-branch-name>
2019-08-26T06:06:57.3664359Z 
2019-08-26T06:06:57.3664413Z HEAD is now at b3f6c2df8 Merge de55d91717a604eae4f65044d5e49a9b5b333ec6 into 4c58535d09d1261d21569df0036b974811544256
2019-08-26T06:06:57.3849301Z ##[section]Starting: Collect CPU-usage statistics in the background
2019-08-26T06:06:57.3852102Z ==============================================================================
2019-08-26T06:06:57.3852176Z Task         : Bash
2019-08-26T06:06:57.3852220Z Description  : Run a Bash script on macOS, Linux, or Windows
---
2019-08-26T06:15:53.6458212Z     Checking rustc_passes v0.0.0 (/checkout/src/librustc_passes)
2019-08-26T06:15:54.3996511Z     Checking rustc_ast_borrowck v0.0.0 (/checkout/src/librustc_ast_borrowck)
2019-08-26T06:15:55.6616385Z     Checking rustc_codegen_utils v0.0.0 (/checkout/src/librustc_codegen_utils)
2019-08-26T06:15:56.2878255Z     Checking rustc_resolve v0.0.0 (/checkout/src/librustc_resolve)
2019-08-26T06:15:56.4916316Z error[E0277]: `&rustc_data_structures::bit_set::BitSet<rustc::mir::Local>` is not an iterator
2019-08-26T06:15:56.4916881Z     --> src/librustc_mir/transform/qualify_consts.rs:1066:22
2019-08-26T06:15:56.4917603Z 1066 |         for local in borrowed_locals.get() {
2019-08-26T06:15:56.4917603Z 1066 |         for local in borrowed_locals.get() {
2019-08-26T06:15:56.4918068Z      |                      ^^^^^^^^^^^^^^^^^^^^^ `&rustc_data_structures::bit_set::BitSet<rustc::mir::Local>` is not an iterator
2019-08-26T06:15:56.4918332Z      |
2019-08-26T06:15:56.4918726Z      = help: the trait `std::iter::Iterator` is not implemented for `&rustc_data_structures::bit_set::BitSet<rustc::mir::Local>`
2019-08-26T06:15:56.4919162Z 
2019-08-26T06:15:58.8955289Z     Checking rustc_plugin_impl v0.0.0 (/checkout/src/librustc_plugin)
2019-08-26T06:15:59.1889750Z     Checking rustc_privacy v0.0.0 (/checkout/src/librustc_privacy)
2019-08-26T06:16:00.6592199Z     Checking rustc_codegen_ssa v0.0.0 (/checkout/src/librustc_codegen_ssa)
---
2019-08-26T06:16:04.1081623Z == clock drift check ==
2019-08-26T06:16:04.1103394Z   local time: Mon Aug 26 06:16:04 UTC 2019
2019-08-26T06:16:04.2604271Z   network time: Mon, 26 Aug 2019 06:16:04 GMT
2019-08-26T06:16:04.2609181Z == end clock drift check ==
2019-08-26T06:16:05.5714609Z ##[error]Bash exited with code '1'.
2019-08-26T06:16:05.5745669Z ##[section]Starting: Checkout
2019-08-26T06:16:05.5747560Z ==============================================================================
2019-08-26T06:16:05.5747624Z Task         : Get sources
2019-08-26T06:16:05.5747665Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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
Copy link
Contributor

bors commented Aug 26, 2019

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

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed (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.
2019-08-26T16:33:22.6263961Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-08-26T16:33:22.6466136Z ##[command]git config gc.auto 0
2019-08-26T16:33:22.6545393Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-08-26T16:33:22.6609516Z ##[command]git config --get-all http.proxy
2019-08-26T16:33:22.6754042Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/63860/merge:refs/remotes/pull/63860/merge
---
2019-08-26T16:33:57.9873068Z do so (now or later) by using -b with the checkout command again. Example:
2019-08-26T16:33:57.9873105Z 
2019-08-26T16:33:57.9873920Z   git checkout -b <new-branch-name>
2019-08-26T16:33:57.9873968Z 
2019-08-26T16:33:57.9874025Z HEAD is now at 44e21c956 Merge ff0d2119d74458e8a7b4212afd1e0ffb77b3082b into 555d7a2fd6165b614cfc01136d8e3f5c465a1582
2019-08-26T16:33:58.0052120Z ##[section]Starting: Collect CPU-usage statistics in the background
2019-08-26T16:33:58.0055939Z ==============================================================================
2019-08-26T16:33:58.0056010Z Task         : Bash
2019-08-26T16:33:58.0056061Z Description  : Run a Bash script on macOS, Linux, or Windows
---
2019-08-26T16:40:35.2787272Z    Compiling serde_json v1.0.40
2019-08-26T16:40:37.1578827Z    Compiling tidy v0.1.0 (/checkout/src/tools/tidy)
2019-08-26T16:40:48.6161790Z     Finished release [optimized] target(s) in 1m 35s
2019-08-26T16:40:48.6246194Z tidy check
2019-08-26T16:40:49.1157123Z tidy error: /checkout/src/librustc_mir/dataflow/generic.rs:262: line longer than 100 chars
2019-08-26T16:40:50.7392236Z some tidy checks failed
2019-08-26T16:40:50.7396740Z 
2019-08-26T16:40:50.7396740Z 
2019-08-26T16:40:50.7397834Z 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"
2019-08-26T16:40:50.7398433Z 
2019-08-26T16:40:50.7398649Z 
2019-08-26T16:40:50.7408141Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
2019-08-26T16:40:50.7408622Z Build completed unsuccessfully in 0:01:39
2019-08-26T16:40:50.7408622Z Build completed unsuccessfully in 0:01:39
2019-08-26T16:40:50.7469808Z == clock drift check ==
2019-08-26T16:40:50.7506708Z   local time: Mon Aug 26 16:40:50 UTC 2019
2019-08-26T16:40:50.9090481Z   network time: Mon, 26 Aug 2019 16:40:50 GMT
2019-08-26T16:40:50.9094965Z == end clock drift check ==
2019-08-26T16:40:52.2849985Z ##[error]Bash exited with code '1'.
2019-08-26T16:40:52.2906789Z ##[section]Starting: Checkout
2019-08-26T16:40:52.2908570Z ==============================================================================
2019-08-26T16:40:52.2908625Z Task         : Get sources
2019-08-26T16:40:52.2908690Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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

@rust-highfive
Copy link
Collaborator

The job mingw-check of your PR failed (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.
2019-08-26T17:03:08.7892500Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-08-26T17:03:08.8073873Z ##[command]git config gc.auto 0
2019-08-26T17:03:08.8138538Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-08-26T17:03:08.8194401Z ##[command]git config --get-all http.proxy
2019-08-26T17:03:08.8348416Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/63860/merge:refs/remotes/pull/63860/merge
---
2019-08-26T17:03:44.3594508Z do so (now or later) by using -b with the checkout command again. Example:
2019-08-26T17:03:44.3594536Z 
2019-08-26T17:03:44.3594732Z   git checkout -b <new-branch-name>
2019-08-26T17:03:44.3594759Z 
2019-08-26T17:03:44.3594990Z HEAD is now at 9a1cb903f Merge c970931f5b00ee12766df8dc4747a0a1f3856cb4 into 555d7a2fd6165b614cfc01136d8e3f5c465a1582
2019-08-26T17:03:44.3752224Z ##[section]Starting: Collect CPU-usage statistics in the background
2019-08-26T17:03:44.3755347Z ==============================================================================
2019-08-26T17:03:44.3755431Z Task         : Bash
2019-08-26T17:03:44.3755477Z Description  : Run a Bash script on macOS, Linux, or Windows
---
2019-08-26T17:12:31.4655013Z     Checking rustc_lint v0.0.0 (/checkout/src/librustc_lint)
2019-08-26T17:12:33.0116823Z     Checking rustc_passes v0.0.0 (/checkout/src/librustc_passes)
2019-08-26T17:12:33.6883093Z     Checking rustc_ast_borrowck v0.0.0 (/checkout/src/librustc_ast_borrowck)
2019-08-26T17:12:34.8390239Z     Checking rustc_codegen_utils v0.0.0 (/checkout/src/librustc_codegen_utils)
2019-08-26T17:12:35.1017539Z error[E0277]: `&rustc_data_structures::bit_set::BitSet<rustc::mir::Local>` is not an iterator
2019-08-26T17:12:35.1018108Z     --> src/librustc_mir/transform/qualify_consts.rs:1066:22
2019-08-26T17:12:35.1019103Z 1066 |         for local in borrowed_locals.get() {
2019-08-26T17:12:35.1019103Z 1066 |         for local in borrowed_locals.get() {
2019-08-26T17:12:35.1019513Z      |                      ^^^^^^^^^^^^^^^^^^^^^ `&rustc_data_structures::bit_set::BitSet<rustc::mir::Local>` is not an iterator
2019-08-26T17:12:35.1019746Z      |
2019-08-26T17:12:35.1020306Z      = help: the trait `std::iter::Iterator` is not implemented for `&rustc_data_structures::bit_set::BitSet<rustc::mir::Local>`
2019-08-26T17:12:35.1020653Z 
2019-08-26T17:12:35.4195729Z     Checking rustc_resolve v0.0.0 (/checkout/src/librustc_resolve)
2019-08-26T17:12:37.8757774Z     Checking rustc_plugin_impl v0.0.0 (/checkout/src/librustc_plugin)
2019-08-26T17:12:38.1346465Z     Checking rustc_privacy v0.0.0 (/checkout/src/librustc_privacy)
---
2019-08-26T17:12:38.6835615Z == clock drift check ==
2019-08-26T17:12:38.6852495Z   local time: Mon Aug 26 17:12:38 UTC 2019
2019-08-26T17:12:38.8354423Z   network time: Mon, 26 Aug 2019 17:12:38 GMT
2019-08-26T17:12:38.8358370Z == end clock drift check ==
2019-08-26T17:12:40.1152216Z ##[error]Bash exited with code '1'.
2019-08-26T17:12:40.1223113Z ##[section]Starting: Checkout
2019-08-26T17:12:40.1224696Z ==============================================================================
2019-08-26T17:12:40.1224750Z Task         : Get sources
2019-08-26T17:12:40.1224813Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed (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.
2019-08-26T17:38:52.5437377Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-08-26T17:38:52.5620254Z ##[command]git config gc.auto 0
2019-08-26T17:38:52.5687048Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-08-26T17:38:52.5741962Z ##[command]git config --get-all http.proxy
2019-08-26T17:38:52.5881947Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/63860/merge:refs/remotes/pull/63860/merge
---
2019-08-26T17:39:27.9851309Z do so (now or later) by using -b with the checkout command again. Example:
2019-08-26T17:39:27.9851448Z 
2019-08-26T17:39:27.9851769Z   git checkout -b <new-branch-name>
2019-08-26T17:39:27.9851905Z 
2019-08-26T17:39:27.9852034Z HEAD is now at 7d4aa58e2 Merge 2e8921aeaef8d6de6e9d90f75dd8a3019f642a8a into 9fa8f140233047fb0211dbaee531a290bcfeae7e
2019-08-26T17:39:28.0022668Z ##[section]Starting: Collect CPU-usage statistics in the background
2019-08-26T17:39:28.0025636Z ==============================================================================
2019-08-26T17:39:28.0025696Z Task         : Bash
2019-08-26T17:39:28.0025760Z Description  : Run a Bash script on macOS, Linux, or Windows
---
2019-08-26T18:09:45.1413259Z Assembling stage1 compiler (x86_64-unknown-linux-gnu)
2019-08-26T18:09:45.1439979Z Building stage1 std artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-26T18:09:45.5642322Z    Compiling cc v1.0.35
2019-08-26T18:09:45.5642862Z    Compiling core v0.0.0 (/checkout/src/libcore)
2019-08-26T18:09:50.7491813Z thread 'rustc' panicked at 'index out of bounds: the len is 1 but the index is 2', /checkout/src/libcore/slice/mod.rs:2715:10
2019-08-26T18:09:50.8765868Z 
2019-08-26T18:09:50.8767823Z error: internal compiler error: unexpected panic
2019-08-26T18:09:50.8768837Z 
2019-08-26T18:09:50.8770564Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-26T18:09:50.8770564Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-26T18:09:50.8772155Z 
2019-08-26T18:09:50.8775696Z note: we would appreciate a bug report: ***/blob/master/CONTRIBUTING.md#bug-reports
2019-08-26T18:09:50.8778736Z note: rustc 1.39.0-dev running on x86_64-unknown-linux-gnu
2019-08-26T18:09:50.8779653Z 
2019-08-26T18:09:50.8779653Z 
2019-08-26T18:09:50.8783192Z note: compiler flags: -Z binary-dep-depinfo -Z external-macro-backtrace -Z force-unstable-if-unmarked -C opt-level=2 -C debuginfo=0 -C prefer-dynamic -C debug-assertions=n -C codegen-units=1 -C link-args=-Wl,-rpath,$ORIGIN/../lib --crate-type lib
2019-08-26T18:09:50.8784128Z 
2019-08-26T18:09:50.8785220Z note: some of the compiler flags provided by cargo are hidden
2019-08-26T18:09:50.8915897Z error: Could not compile `core`.
2019-08-26T18:09:50.8917201Z warning: build failed, waiting for other jobs to finish...
2019-08-26T18:09:52.6205012Z error: build failed
2019-08-26T18:09:52.6222412Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--locked" "--color" "always" "--features" "panic-unwind backtrace compiler-builtins-c" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "--message-format" "json-render-diagnostics"
2019-08-26T18:09:52.6222412Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--locked" "--color" "always" "--features" "panic-unwind backtrace compiler-builtins-c" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "--message-format" "json-render-diagnostics"
2019-08-26T18:09:52.6222714Z expected success, got: exit code: 101
2019-08-26T18:09:52.6235731Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
2019-08-26T18:09:52.6235931Z Build completed unsuccessfully in 0:23:59
2019-08-26T18:09:52.6295854Z == clock drift check ==
2019-08-26T18:09:52.6308686Z   local time: Mon Aug 26 18:09:52 UTC 2019
2019-08-26T18:09:52.6973995Z   network time: Mon, 26 Aug 2019 18:09:52 GMT
2019-08-26T18:09:52.6983088Z == end clock drift check ==
2019-08-26T18:09:53.4580934Z ##[error]Bash exited with code '1'.
2019-08-26T18:09:53.4620323Z ##[section]Starting: Checkout
2019-08-26T18:09:53.4622290Z ==============================================================================
2019-08-26T18:09:53.4622338Z Task         : Get sources
2019-08-26T18:09:53.4622400Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed (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.
2019-08-27T16:30:34.0739952Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-08-27T16:30:34.0996598Z ##[command]git config gc.auto 0
2019-08-27T16:30:34.1079892Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-08-27T16:30:34.9917336Z ##[command]git config --get-all http.proxy
2019-08-27T16:30:34.9925615Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/63860/merge:refs/remotes/pull/63860/merge
---
2019-08-27T16:31:09.8747679Z do so (now or later) by using -b with the checkout command again. Example:
2019-08-27T16:31:09.8747728Z 
2019-08-27T16:31:09.8748027Z   git checkout -b <new-branch-name>
2019-08-27T16:31:09.8748059Z 
2019-08-27T16:31:09.8748109Z HEAD is now at 251ada4bf Merge 5859d41217aeeb4d24a5bfd0d98cfd4a8993650f into 0396aace27eea97c3603e9683e921807dff2a314
2019-08-27T16:31:09.8914374Z ##[section]Starting: Collect CPU-usage statistics in the background
2019-08-27T16:31:09.8917856Z ==============================================================================
2019-08-27T16:31:09.8917917Z Task         : Bash
2019-08-27T16:31:09.8918203Z Description  : Run a Bash script on macOS, Linux, or Windows
---
2019-08-27T17:01:58.1281154Z    Compiling libc v0.2.61
2019-08-27T17:01:59.0465534Z    Compiling build_helper v0.1.0 (/checkout/src/build_helper)
2019-08-27T17:02:00.7210017Z    Compiling cmake v0.1.38
2019-08-27T17:02:04.1220082Z    Compiling compiler_builtins v0.1.18
2019-08-27T17:02:04.9764180Z thread 'rustc' panicked at 'index out of bounds: the len is 6 but the index is 7', /checkout/src/libcore/slice/mod.rs:2715:10
2019-08-27T17:02:05.9610420Z 
2019-08-27T17:02:05.9617615Z error: internal compiler error: unexpected panic
2019-08-27T17:02:05.9617814Z 
2019-08-27T17:02:05.9617982Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-27T17:02:05.9617982Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-27T17:02:05.9618096Z 
2019-08-27T17:02:05.9619627Z note: we would appreciate a bug report: ***/blob/master/CONTRIBUTING.md#bug-reports
2019-08-27T17:02:05.9620269Z note: rustc 1.39.0-dev running on x86_64-unknown-linux-gnu
2019-08-27T17:02:05.9620591Z 
2019-08-27T17:02:05.9620591Z 
2019-08-27T17:02:05.9621857Z note: compiler flags: -Z binary-dep-depinfo -Z external-macro-backtrace -Z force-unstable-if-unmarked -C opt-level=2 -C debuginfo=0 -C prefer-dynamic -C debug-assertions=n -C codegen-units=1 -C link-args=-Wl,-rpath,$ORIGIN/../lib --crate-type lib
2019-08-27T17:02:05.9622118Z 
2019-08-27T17:02:05.9622305Z note: some of the compiler flags provided by cargo are hidden
2019-08-27T17:02:05.9622869Z error: Could not compile `core`.
2019-08-27T17:02:05.9623374Z warning: build failed, waiting for other jobs to finish...
2019-08-27T17:02:06.0523850Z error: build failed
2019-08-27T17:02:06.0552970Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--locked" "--color" "always" "--features" "panic-unwind backtrace compiler-builtins-c" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "--message-format" "json-render-diagnostics"
2019-08-27T17:02:06.0552970Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--locked" "--color" "always" "--features" "panic-unwind backtrace compiler-builtins-c" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "--message-format" "json-render-diagnostics"
2019-08-27T17:02:06.0553449Z expected success, got: exit code: 101
2019-08-27T17:02:06.0558666Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
2019-08-27T17:02:06.0558919Z Build completed unsuccessfully in 0:24:26
2019-08-27T17:02:06.0615491Z == clock drift check ==
2019-08-27T17:02:06.0632541Z   local time: Tue Aug 27 17:02:06 UTC 2019
2019-08-27T17:02:06.2212551Z   network time: Tue, 27 Aug 2019 17:02:06 GMT
2019-08-27T17:02:06.2220294Z == end clock drift check ==
2019-08-27T17:02:07.1547946Z ##[error]Bash exited with code '1'.
2019-08-27T17:02:07.1585010Z ##[section]Starting: Checkout
2019-08-27T17:02:07.1586791Z ==============================================================================
2019-08-27T17:02:07.1586840Z Task         : Get sources
2019-08-27T17:02:07.1586905Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed (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.
2019-08-27T18:19:00.7625054Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-08-27T18:19:00.7852907Z ##[command]git config gc.auto 0
2019-08-27T18:19:00.7963097Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-08-27T18:19:00.8047271Z ##[command]git config --get-all http.proxy
2019-08-27T18:19:01.5398202Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/63860/merge:refs/remotes/pull/63860/merge
---
2019-08-27T18:19:36.6121918Z do so (now or later) by using -b with the checkout command again. Example:
2019-08-27T18:19:36.6121948Z 
2019-08-27T18:19:36.6122289Z   git checkout -b <new-branch-name>
2019-08-27T18:19:36.6122314Z 
2019-08-27T18:19:36.6122362Z HEAD is now at 59bcdca93 Merge 44e4bf391258348fb3b5da44eba52302ac78c9f3 into 0396aace27eea97c3603e9683e921807dff2a314
2019-08-27T18:19:36.6286676Z ##[section]Starting: Collect CPU-usage statistics in the background
2019-08-27T18:19:36.6290010Z ==============================================================================
2019-08-27T18:19:36.6290081Z Task         : Bash
2019-08-27T18:19:36.6290148Z Description  : Run a Bash script on macOS, Linux, or Windows
---
2019-08-27T18:49:41.2462577Z    Compiling libc v0.2.61
2019-08-27T18:49:42.1365648Z    Compiling build_helper v0.1.0 (/checkout/src/build_helper)
2019-08-27T18:49:43.7321058Z    Compiling cmake v0.1.38
2019-08-27T18:49:46.9442744Z    Compiling compiler_builtins v0.1.18
2019-08-27T18:49:47.7944674Z thread 'rustc' panicked at 'index out of bounds: the len is 6 but the index is 7', /checkout/src/libcore/slice/mod.rs:2715:10
2019-08-27T18:49:47.9492463Z 
2019-08-27T18:49:47.9493272Z error: internal compiler error: unexpected panic
2019-08-27T18:49:47.9493464Z 
2019-08-27T18:49:47.9493719Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-27T18:49:47.9493719Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-27T18:49:47.9493883Z 
2019-08-27T18:49:47.9498678Z note: we would appreciate a bug report: ***/blob/master/CONTRIBUTING.md#bug-reports
2019-08-27T18:49:47.9499563Z note: rustc 1.39.0-dev running on x86_64-unknown-linux-gnu
2019-08-27T18:49:47.9499846Z 
2019-08-27T18:49:47.9499846Z 
2019-08-27T18:49:47.9500751Z note: compiler flags: -Z binary-dep-depinfo -Z external-macro-backtrace -Z force-unstable-if-unmarked -C opt-level=2 -C debuginfo=0 -C prefer-dynamic -C debug-assertions=n -C codegen-units=1 -C link-args=-Wl,-rpath,$ORIGIN/../lib --crate-type lib
2019-08-27T18:49:47.9500978Z 
2019-08-27T18:49:47.9501180Z note: some of the compiler flags provided by cargo are hidden
2019-08-27T18:49:47.9637939Z error: Could not compile `core`.
2019-08-27T18:49:47.9638841Z warning: build failed, waiting for other jobs to finish...
2019-08-27T18:49:48.7834113Z error: build failed
2019-08-27T18:49:48.7847892Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--locked" "--color" "always" "--features" "panic-unwind backtrace compiler-builtins-c" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "--message-format" "json-render-diagnostics"
2019-08-27T18:49:48.7847892Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--locked" "--color" "always" "--features" "panic-unwind backtrace compiler-builtins-c" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "--message-format" "json-render-diagnostics"
2019-08-27T18:49:48.7848071Z expected success, got: exit code: 101
2019-08-27T18:49:48.7861022Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
2019-08-27T18:49:48.7861137Z Build completed unsuccessfully in 0:23:38
2019-08-27T18:49:48.7924076Z == clock drift check ==
2019-08-27T18:49:48.7942231Z   local time: Tue Aug 27 18:49:48 UTC 2019
2019-08-27T18:49:49.0735989Z   network time: Tue, 27 Aug 2019 18:49:49 GMT
2019-08-27T18:49:49.0740087Z == end clock drift check ==
2019-08-27T18:49:49.9675702Z ##[error]Bash exited with code '1'.
2019-08-27T18:49:49.9721757Z ##[section]Starting: Checkout
2019-08-27T18:49:49.9723342Z ==============================================================================
2019-08-27T18:49:49.9723388Z Task         : Get sources
2019-08-27T18:49:49.9723427Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed (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.
2019-08-28T21:40:28.8914560Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-08-28T21:40:28.9138164Z ##[command]git config gc.auto 0
2019-08-28T21:40:28.9232673Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-08-28T21:40:28.9301888Z ##[command]git config --get-all http.proxy
2019-08-28T21:40:28.9452061Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/63860/merge:refs/remotes/pull/63860/merge
---
2019-08-28T22:09:49.4429499Z    Compiling libc v0.2.61
2019-08-28T22:09:50.3328627Z    Compiling build_helper v0.1.0 (/checkout/src/build_helper)
2019-08-28T22:09:51.9003019Z    Compiling cmake v0.1.38
2019-08-28T22:09:55.0953969Z    Compiling compiler_builtins v0.1.18
2019-08-28T22:09:56.1171653Z thread 'rustc' panicked at 'index out of bounds: the len is 6 but the index is 7', /checkout/src/libcore/slice/mod.rs:2715:10
2019-08-28T22:09:56.2671682Z 
2019-08-28T22:09:56.2675816Z error: internal compiler error: unexpected panic
2019-08-28T22:09:56.2675900Z 
2019-08-28T22:09:56.2679775Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-28T22:09:56.2679775Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-28T22:09:56.2682506Z 
2019-08-28T22:09:56.2688791Z note: we would appreciate a bug report: ***/blob/master/CONTRIBUTING.md#bug-reports
2019-08-28T22:09:56.2693205Z note: rustc 1.39.0-dev running on x86_64-unknown-linux-gnu
2019-08-28T22:09:56.2693261Z 
2019-08-28T22:09:56.2693261Z 
2019-08-28T22:09:56.2698271Z note: compiler flags: -Z binary-dep-depinfo -Z external-macro-backtrace -Z force-unstable-if-unmarked -C opt-level=2 -C debuginfo=0 -C prefer-dynamic -C debug-assertions=n -C codegen-units=1 -C link-args=-Wl,-rpath,$ORIGIN/../lib --crate-type lib
2019-08-28T22:09:56.2698359Z 
2019-08-28T22:09:56.2701089Z note: some of the compiler flags provided by cargo are hidden
2019-08-28T22:09:56.2880947Z error: Could not compile `core`.
2019-08-28T22:09:56.2895298Z warning: build failed, waiting for other jobs to finish...
2019-08-28T22:09:56.9890038Z error: build failed
2019-08-28T22:09:56.9921981Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--locked" "--color" "always" "--features" "panic-unwind backtrace compiler-builtins-c" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "--message-format" "json-render-diagnostics"
2019-08-28T22:09:56.9921981Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--locked" "--color" "always" "--features" "panic-unwind backtrace compiler-builtins-c" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "--message-format" "json-render-diagnostics"
2019-08-28T22:09:56.9922393Z expected success, got: exit code: 101
2019-08-28T22:09:56.9935540Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
2019-08-28T22:09:56.9936576Z Build completed unsuccessfully in 0:22:37
2019-08-28T22:09:56.9989520Z == clock drift check ==
2019-08-28T22:09:57.0010108Z   local time: Wed Aug 28 22:09:57 UTC 2019
2019-08-28T22:09:57.1518424Z   network time: Wed, 28 Aug 2019 22:09:57 GMT
2019-08-28T22:09:57.1518880Z == end clock drift check ==
2019-08-28T22:09:58.0834046Z ##[error]Bash exited with code '1'.
2019-08-28T22:09:58.0872223Z ##[section]Starting: Checkout
2019-08-28T22:09:58.0874003Z ==============================================================================
2019-08-28T22:09:58.0874059Z Task         : Get sources
2019-08-28T22:09:58.0874124Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed (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.
2019-08-30T21:15:44.5457797Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-08-30T21:15:44.5617229Z ##[command]git config gc.auto 0
2019-08-30T21:15:44.5684898Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-08-30T21:15:44.5739994Z ##[command]git config --get-all http.proxy
2019-08-30T21:15:44.5876740Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/63860/merge:refs/remotes/pull/63860/merge
---
2019-08-30T21:22:29.3052211Z    Compiling serde_json v1.0.40
2019-08-30T21:22:31.1492563Z    Compiling tidy v0.1.0 (/checkout/src/tools/tidy)
2019-08-30T21:22:41.8893652Z     Finished release [optimized] target(s) in 1m 28s
2019-08-30T21:22:41.8971965Z tidy check
2019-08-30T21:22:42.3856660Z tidy error: /checkout/src/librustc_mir/transform/qualify_consts.rs:983: line longer than 100 chars
2019-08-30T21:22:42.3857318Z tidy error: /checkout/src/librustc_mir/transform/qualify_consts.rs:1112: TODO is deprecated; use FIXME
2019-08-30T21:22:43.8450048Z some tidy checks failed
2019-08-30T21:22:43.8454365Z 
2019-08-30T21:22:43.8454365Z 
2019-08-30T21:22:43.8455811Z 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"
2019-08-30T21:22:43.8456235Z 
2019-08-30T21:22:43.8456362Z 
2019-08-30T21:22:43.8461866Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
2019-08-30T21:22:43.8462164Z Build completed unsuccessfully in 0:01:31
2019-08-30T21:22:43.8462164Z Build completed unsuccessfully in 0:01:31
2019-08-30T21:22:43.8509847Z == clock drift check ==
2019-08-30T21:22:43.8528653Z   local time: Fri Aug 30 21:22:43 UTC 2019
2019-08-30T21:22:44.0013996Z   network time: Fri, 30 Aug 2019 21:22:43 GMT
2019-08-30T21:22:44.0016338Z == end clock drift check ==
2019-08-30T21:22:45.3210337Z ##[error]Bash exited with code '1'.
2019-08-30T21:22:45.3241535Z ##[section]Starting: Checkout
2019-08-30T21:22:45.3243439Z ==============================================================================
2019-08-30T21:22:45.3243509Z Task         : Get sources
2019-08-30T21:22:45.3243551Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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)

@ecstatic-morse ecstatic-morse force-pushed the qualifs-temp branch 2 times, most recently from eebfcce to 1ddae0b Compare August 30, 2019 22:08
@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed (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.
2019-08-30T22:09:22.3654776Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-08-30T22:09:22.3845457Z ##[command]git config gc.auto 0
2019-08-30T22:09:22.3928997Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-08-30T22:09:22.3985916Z ##[command]git config --get-all http.proxy
2019-08-30T22:09:22.4125489Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/63860/merge:refs/remotes/pull/63860/merge
---
2019-08-30T23:09:05.7269668Z .................................................................................................... 1200/8982
2019-08-30T23:09:12.1792763Z .................................................................................................... 1300/8982
2019-08-30T23:09:19.0570833Z ..................................................................F.FFF.............F............... 1400/8982
2019-08-30T23:09:25.5877205Z .................................................................................................... 1500/8982
2019-08-30T23:09:31.5566162Z .............FFFF.....................F.....................................................FF.F.... 1600/8982
2019-08-30T23:09:51.8587207Z .................................................................................................... 1800/8982
2019-08-30T23:09:51.8587207Z .................................................................................................... 1800/8982
2019-08-30T23:10:05.4638700Z .......................................iiiii........................................................ 1900/8982
2019-08-30T23:10:15.7164142Z .................................................................................................... 2100/8982
2019-08-30T23:10:18.1484272Z .................................................................................................... 2200/8982
2019-08-30T23:10:22.0675009Z .................................................................................................... 2300/8982
2019-08-30T23:10:29.2859487Z .................................................................................................... 2400/8982
---
2019-08-30T23:13:20.1016971Z ..........................i...............i......................................................... 4700/8982
2019-08-30T23:13:31.4665201Z .................................................................................................... 4800/8982
2019-08-30T23:13:37.3731827Z .................................................................................................... 4900/8982
2019-08-30T23:13:47.6851274Z .................................................................................................... 5000/8982
2019-08-30T23:13:53.0673923Z .......ii.ii........................................................................................ 5100/8982
2019-08-30T23:14:05.4462760Z .................................................................................................... 5300/8982
2019-08-30T23:14:13.3212861Z ......................................................................i............................. 5400/8982
2019-08-30T23:14:20.2727009Z .................................................................................................... 5500/8982
2019-08-30T23:14:26.8843809Z .................................................................................................... 5600/8982
2019-08-30T23:14:26.8843809Z .................................................................................................... 5600/8982
2019-08-30T23:14:36.7524773Z ................................................................ii...i..ii...........i.............. 5700/8982
2019-08-30T23:15:01.3229545Z .................................................................................................... 5900/8982
2019-08-30T23:15:09.7117313Z .................................................................................................... 6000/8982
2019-08-30T23:15:09.7117313Z .................................................................................................... 6000/8982
2019-08-30T23:15:15.5985274Z .................................................................i..ii.............................. 6100/8982
2019-08-30T23:15:43.2156080Z .................................................................................................... 6300/8982
2019-08-30T23:15:45.1402810Z ....................i............................................................................... 6400/8982
2019-08-30T23:15:47.1684643Z ............................................................................................i....... 6500/8982
2019-08-30T23:15:49.7792241Z .................................................................................................... 6600/8982
---
2019-08-30T23:19:36.6423415Z 
2019-08-30T23:19:36.6423956Z 1 error[E0493]: destructors cannot be evaluated at compile-time
2019-08-30T23:19:36.6424438Z +   --> $DIR/const_let.rs:13:33
2019-08-30T23:19:36.6424747Z +    |
2019-08-30T23:19:36.6424940Z + LL | const X2: FakeNeedsDrop = { let x; x = FakeNeedsDrop; x };
2019-08-30T23:19:36.6425084Z +    |                                 ^ constants cannot evaluate destructors
2019-08-30T23:19:36.6425212Z + 
2019-08-30T23:19:36.6425740Z + error[E0493]: destructors cannot be evaluated at compile-time
2019-08-30T23:19:36.6426644Z 3    |
2019-08-30T23:19:36.6426644Z 3    |
2019-08-30T23:19:36.6426798Z 4 LL | const Y: FakeNeedsDrop = { let mut x = FakeNeedsDrop; x = FakeNeedsDrop; x };
2019-08-30T23:19:36.6426917Z 
2019-08-30T23:19:36.6427376Z 22 LL | const Z2: () = { let mut x; x = None; x = Some(FakeNeedsDrop); };
2019-08-30T23:19:36.6427582Z 23    |                      ^^^^^ constants cannot evaluate destructors
2019-08-30T23:19:36.6428243Z - error: aborting due to 4 previous errors
2019-08-30T23:19:36.6429168Z + error: aborting due to 5 previous errors
2019-08-30T23:19:36.6429552Z 26 
2019-08-30T23:19:36.6429728Z 27 
2019-08-30T23:19:36.6429728Z 27 
2019-08-30T23:19:36.6429902Z 
2019-08-30T23:19:36.6430044Z 
2019-08-30T23:19:36.6430359Z The actual stderr differed from the expected stderr.
2019-08-30T23:19:36.6431069Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/const-eval/const_let/const_let.stderr
2019-08-30T23:19:36.6431630Z To update references, rerun the tests and pass the `--bless` flag
2019-08-30T23:19:36.6432627Z To only update this specific test, also pass `--test-args consts/const-eval/const_let.rs`
2019-08-30T23:19:36.6432989Z error: 1 errors occurred comparing output.
2019-08-30T23:19:36.6433252Z status: exit code: 1
2019-08-30T23:19:36.6433252Z status: exit code: 1
2019-08-30T23:19:36.6434553Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/const-eval/const_let.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/consts/const-eval/const_let" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/const-eval/const_let/auxiliary" "-A" "unused"
2019-08-30T23:19:36.6435107Z ------------------------------------------
2019-08-30T23:19:36.6435249Z 
2019-08-30T23:19:36.6435880Z ------------------------------------------
2019-08-30T23:19:36.6436042Z stderr:
2019-08-30T23:19:36.6436042Z stderr:
2019-08-30T23:19:36.6436312Z ------------------------------------------
2019-08-30T23:19:36.6436647Z error[E0493]: destructors cannot be evaluated at compile-time
2019-08-30T23:19:36.6436979Z   --> /checkout/src/test/ui/consts/const-eval/const_let.rs:13:33
2019-08-30T23:19:36.6437128Z    |
2019-08-30T23:19:36.6437288Z LL | const X2: FakeNeedsDrop = { let x; x = FakeNeedsDrop; x };
2019-08-30T23:19:36.6437460Z    |                                 ^ constants cannot evaluate destructors
2019-08-30T23:19:36.6438064Z error[E0493]: destructors cannot be evaluated at compile-time
2019-08-30T23:19:36.6439018Z   --> /checkout/src/test/ui/consts/const-eval/const_let.rs:16:32
2019-08-30T23:19:36.6439282Z    |
2019-08-30T23:19:36.6439282Z    |
2019-08-30T23:19:36.6439452Z LL | const Y: FakeNeedsDrop = { let mut x = FakeNeedsDrop; x = FakeNeedsDrop; x };
2019-08-30T23:19:36.6439624Z    |                                ^^^^^ constants cannot evaluate destructors
2019-08-30T23:19:36.6440225Z error[E0493]: destructors cannot be evaluated at compile-time
2019-08-30T23:19:36.6440677Z   --> /checkout/src/test/ui/consts/const-eval/const_let.rs:20:33
2019-08-30T23:19:36.6440886Z    |
2019-08-30T23:19:36.6440886Z    |
2019-08-30T23:19:36.6441079Z LL | const Y2: FakeNeedsDrop = { let mut x; x = FakeNeedsDrop; x = FakeNeedsDrop; x };
2019-08-30T23:19:36.6441251Z    |                                 ^^^^^ constants cannot evaluate destructors
2019-08-30T23:19:36.6441824Z error[E0493]: destructors cannot be evaluated at compile-time
2019-08-30T23:19:36.6442400Z   --> /checkout/src/test/ui/consts/const-eval/const_let.rs:24:21
2019-08-30T23:19:36.6442940Z    |
2019-08-30T23:19:36.6442940Z    |
2019-08-30T23:19:36.6443237Z LL | const Z: () = { let mut x = None; x = Some(FakeNeedsDrop); };
2019-08-30T23:19:36.6443370Z    |                     ^^^^^ constants cannot evaluate destructors
2019-08-30T23:19:36.6443819Z error[E0493]: destructors cannot be evaluated at compile-time
2019-08-30T23:19:36.6444186Z   --> /checkout/src/test/ui/consts/const-eval/const_let.rs:28:22
2019-08-30T23:19:36.6444349Z    |
2019-08-30T23:19:36.6444349Z    |
2019-08-30T23:19:36.6444585Z LL | const Z2: () = { let mut x; x = None; x = Some(FakeNeedsDrop); };
2019-08-30T23:19:36.6444757Z    |                      ^^^^^ constants cannot evaluate destructors
2019-08-30T23:19:36.6445041Z error: aborting due to 5 previous errors
2019-08-30T23:19:36.6445154Z 
2019-08-30T23:19:36.6445264Z 
2019-08-30T23:19:36.6445602Z ------------------------------------------
2019-08-30T23:19:36.6445602Z ------------------------------------------
2019-08-30T23:19:36.6445750Z 
2019-08-30T23:19:36.6445865Z 
2019-08-30T23:19:36.6446402Z ---- [ui] ui/consts/const-eval/const_panic_libcore.rs stdout ----
2019-08-30T23:19:36.6446718Z 
2019-08-30T23:19:36.6446843Z error: Error: expected failure status (Some(1)) but received status Some(101).
2019-08-30T23:19:36.6446989Z status: exit code: 101
2019-08-30T23:19:36.6447787Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/const-eval/const_panic_libcore.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/consts/const-eval/const_panic_libcore" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/const-eval/const_panic_libcore/auxiliary" "-A" "unused"
2019-08-30T23:19:36.6448295Z ------------------------------------------
2019-08-30T23:19:36.6448792Z 
2019-08-30T23:19:36.6449629Z ------------------------------------------
2019-08-30T23:19:36.6449869Z stderr:
2019-08-30T23:19:36.6449869Z stderr:
2019-08-30T23:19:36.6450280Z ------------------------------------------
2019-08-30T23:19:36.6450810Z thread 'rustc' panicked at '`apply_call_return_effect` must not be called unless cursor is pointing at a `Call` terminator', src/librustc_mir/dataflow/generic.rs:227:9
2019-08-30T23:19:36.6451338Z 
2019-08-30T23:19:36.6451586Z error: internal compiler error: unexpected panic
2019-08-30T23:19:36.6451741Z 
2019-08-30T23:19:36.6451957Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-30T23:19:36.6451957Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-30T23:19:36.6452099Z 
2019-08-30T23:19:36.6453084Z note: we would appreciate a bug report: ***/blob/master/CONTRIBUTING.md#bug-reports
2019-08-30T23:19:36.6453771Z note: rustc 1.39.0-dev running on x86_64-unknown-linux-gnu
2019-08-30T23:19:36.6456003Z 
2019-08-30T23:19:36.6456003Z 
2019-08-30T23:19:36.6456328Z note: compiler flags: -Z threads=1 -Z ui-testing -Z unstable-options -C prefer-dynamic -C rpath -C debuginfo=0
2019-08-30T23:19:36.6456397Z 
2019-08-30T23:19:36.6456568Z ------------------------------------------
2019-08-30T23:19:36.6456593Z 
2019-08-30T23:19:36.6456614Z 
2019-08-30T23:19:36.6456614Z 
2019-08-30T23:19:36.6456805Z ---- [ui] ui/consts/const-eval/const_panic.rs stdout ----
2019-08-30T23:19:36.6456831Z 
2019-08-30T23:19:36.6456869Z error: Error: expected failure status (Some(1)) but received status Some(101).
2019-08-30T23:19:36.6456932Z status: exit code: 101
2019-08-30T23:19:36.6457528Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/const-eval/const_panic.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/consts/const-eval/const_panic" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/const-eval/const_panic/auxiliary" "-A" "unused"
2019-08-30T23:19:36.6457798Z ------------------------------------------
2019-08-30T23:19:36.6457825Z 
2019-08-30T23:19:36.6457993Z ------------------------------------------
2019-08-30T23:19:36.6458045Z stderr:
2019-08-30T23:19:36.6458045Z stderr:
2019-08-30T23:19:36.6458210Z ------------------------------------------
2019-08-30T23:19:36.6459534Z thread 'rustc' panicked at '`apply_call_return_effect` must not be called unless cursor is pointing at a `Call` terminator', src/librustc_mir/dataflow/generic.rs:227:9
2019-08-30T23:19:36.6459708Z 
2019-08-30T23:19:36.6459753Z error: internal compiler error: unexpected panic
2019-08-30T23:19:36.6459809Z 
2019-08-30T23:19:36.6459855Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-30T23:19:36.6459855Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-30T23:19:36.6459885Z 
2019-08-30T23:19:36.6460295Z note: we would appreciate a bug report: ***/blob/master/CONTRIBUTING.md#bug-reports
2019-08-30T23:19:36.6460578Z note: rustc 1.39.0-dev running on x86_64-unknown-linux-gnu
2019-08-30T23:19:36.6460610Z 
2019-08-30T23:19:36.6460610Z 
2019-08-30T23:19:36.6460904Z note: compiler flags: -Z threads=1 -Z ui-testing -Z unstable-options -C prefer-dynamic -C rpath -C debuginfo=0
2019-08-30T23:19:36.6460968Z 
2019-08-30T23:19:36.6461188Z ------------------------------------------
2019-08-30T23:19:36.6461221Z 
2019-08-30T23:19:36.6461262Z 
2019-08-30T23:19:36.6461262Z 
2019-08-30T23:19:36.6461500Z ---- [ui] ui/consts/const-eval/const_panic_libcore_main.rs stdout ----
2019-08-30T23:19:36.6461535Z 
2019-08-30T23:19:36.6461582Z error: Error: expected failure status (Some(1)) but received status Some(101).
2019-08-30T23:19:36.6461656Z status: exit code: 101
2019-08-30T23:19:36.6472938Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/const-eval/const_panic_libcore_main.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/consts/const-eval/const_panic_libcore_main" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/const-eval/const_panic_libcore_main/auxiliary" "-A" "unused"
2019-08-30T23:19:36.6473366Z ------------------------------------------
2019-08-30T23:19:36.6473399Z 
2019-08-30T23:19:36.6473592Z ------------------------------------------
2019-08-30T23:19:36.6473628Z stderr:
2019-08-30T23:19:36.6473628Z stderr:
2019-08-30T23:19:36.6473785Z ------------------------------------------
2019-08-30T23:19:36.6476051Z thread 'rustc' panicked at '`apply_call_return_effect` must not be called unless cursor is pointing at a `Call` terminator', src/librustc_mir/dataflow/generic.rs:227:9
2019-08-30T23:19:36.6476152Z 
2019-08-30T23:19:36.6476245Z error: internal compiler error: unexpected panic
2019-08-30T23:19:36.6476271Z 
2019-08-30T23:19:36.6476306Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-30T23:19:36.6476306Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-30T23:19:36.6476328Z 
2019-08-30T23:19:36.6476631Z note: we would appreciate a bug report: ***/blob/master/CONTRIBUTING.md#bug-reports
2019-08-30T23:19:36.6476861Z note: rustc 1.39.0-dev running on x86_64-unknown-linux-gnu
2019-08-30T23:19:36.6477074Z 
2019-08-30T23:19:36.6477074Z 
2019-08-30T23:19:36.6477292Z note: compiler flags: -Z threads=1 -Z ui-testing -Z unstable-options -C prefer-dynamic -C rpath -C debuginfo=0
2019-08-30T23:19:36.6477342Z 
2019-08-30T23:19:36.6477758Z ------------------------------------------
2019-08-30T23:19:36.6477784Z 
2019-08-30T23:19:36.6477804Z 
2019-08-30T23:19:36.6477804Z 
2019-08-30T23:19:36.6477991Z ---- [ui] ui/consts/const-eval/feature-gate-const_panic.rs stdout ----
2019-08-30T23:19:36.6478018Z 
2019-08-30T23:19:36.6478071Z error: Error: expected failure status (Some(1)) but received status Some(101).
2019-08-30T23:19:36.6478111Z status: exit code: 101
2019-08-30T23:19:36.6479503Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/const-eval/feature-gate-const_panic.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/consts/const-eval/feature-gate-const_panic" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/const-eval/feature-gate-const_panic/auxiliary" "-A" "unused"
2019-08-30T23:19:36.6479919Z ------------------------------------------
2019-08-30T23:19:36.6479974Z 
2019-08-30T23:19:36.6480190Z ------------------------------------------
2019-08-30T23:19:36.6480237Z stderr:
2019-08-30T23:19:36.6480237Z stderr:
2019-08-30T23:19:36.6480461Z ------------------------------------------
2019-08-30T23:19:36.6480512Z error[E0658]: panicking in constants is unstable
2019-08-30T23:19:36.6480766Z   --> /checkout/src/test/ui/consts/const-eval/feature-gate-const_panic.rs:3:15
2019-08-30T23:19:36.6480834Z    |
2019-08-30T23:19:36.6480882Z LL | const Z: () = panic!("cheese");
2019-08-30T23:19:36.6480999Z    |
2019-08-30T23:19:36.6480999Z    |
2019-08-30T23:19:36.6481294Z    = note: for more information, see ***/issues/51999
2019-08-30T23:19:36.6481351Z    = help: add `#![feature(const_panic)]` to the crate attributes to enable
2019-08-30T23:19:36.6481749Z 
2019-08-30T23:19:36.6481749Z 
2019-08-30T23:19:36.6482243Z thread 'rustc' panicked at '`apply_call_return_effect` must not be called unless cursor is pointing at a `Call` terminator', src/librustc_mir/dataflow/generic.rs:227:9
2019-08-30T23:19:36.6482523Z error: aborting due to previous error
2019-08-30T23:19:36.6482545Z 
2019-08-30T23:19:36.6483006Z For more information about this error, try `rustc --explain E0658`.
2019-08-30T23:19:36.6483035Z 
2019-08-30T23:19:36.6483035Z 
2019-08-30T23:19:36.6483078Z error: internal compiler error: unexpected panic
2019-08-30T23:19:36.6483101Z 
2019-08-30T23:19:36.6483138Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-30T23:19:36.6483177Z 
2019-08-30T23:19:36.6483421Z note: we would appreciate a bug report: ***/blob/master/CONTRIBUTING.md#bug-reports
2019-08-30T23:19:36.6483773Z note: rustc 1.39.0-dev running on x86_64-unknown-linux-gnu
2019-08-30T23:19:36.6483801Z 
2019-08-30T23:19:36.6483801Z 
2019-08-30T23:19:36.6484017Z note: compiler flags: -Z threads=1 -Z ui-testing -Z unstable-options -C prefer-dynamic -C rpath -C debuginfo=0
2019-08-30T23:19:36.6484082Z 
2019-08-30T23:19:36.6484249Z ------------------------------------------
2019-08-30T23:19:36.6484275Z 
2019-08-30T23:19:36.6484295Z 
2019-08-30T23:19:36.6484295Z 
2019-08-30T23:19:36.6484480Z ---- [ui] ui/consts/const_arg_local.rs stdout ----
2019-08-30T23:19:36.6484506Z 
2019-08-30T23:19:36.6484544Z error: Error: expected failure status (Some(1)) but received status Some(101).
2019-08-30T23:19:36.6484588Z status: exit code: 101
2019-08-30T23:19:36.6485174Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/const_arg_local.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/consts/const_arg_local" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/const_arg_local/auxiliary" "-A" "unused"
2019-08-30T23:19:36.6485620Z ------------------------------------------
2019-08-30T23:19:36.6485647Z 
2019-08-30T23:19:36.6485810Z ------------------------------------------
2019-08-30T23:19:36.6485862Z stderr:
2019-08-30T23:19:36.6485862Z stderr:
2019-08-30T23:19:36.6486022Z ------------------------------------------
2019-08-30T23:19:36.6486321Z thread 'rustc' panicked at 'index out of bounds: the len is 2 but the index is 3', /checkout/src/libcore/slice/mod.rs:2715:10
2019-08-30T23:19:36.6486423Z 
2019-08-30T23:19:36.6486457Z error: internal compiler error: unexpected panic
2019-08-30T23:19:36.6486479Z 
2019-08-30T23:19:36.6486530Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-30T23:19:36.6486530Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-30T23:19:36.6486559Z 
2019-08-30T23:19:36.6486825Z note: we would appreciate a bug report: ***/blob/master/CONTRIBUTING.md#bug-reports
2019-08-30T23:19:36.6487055Z note: rustc 1.39.0-dev running on x86_64-unknown-linux-gnu
2019-08-30T23:19:36.6487081Z 
2019-08-30T23:19:36.6487081Z 
2019-08-30T23:19:36.6487471Z note: compiler flags: -Z threads=1 -Z ui-testing -Z unstable-options -C prefer-dynamic -C rpath -C debuginfo=0
2019-08-30T23:19:36.6487535Z 
2019-08-30T23:19:36.6487700Z ------------------------------------------
2019-08-30T23:19:36.6487725Z 
2019-08-30T23:19:36.6487745Z 
2019-08-30T23:19:36.6487745Z 
2019-08-30T23:19:36.6487944Z ---- [ui] ui/consts/const_arg_promotable2.rs stdout ----
2019-08-30T23:19:36.6487972Z 
2019-08-30T23:19:36.6488009Z error: Error: expected failure status (Some(1)) but received status Some(101).
2019-08-30T23:19:36.6488061Z status: exit code: 101
2019-08-30T23:19:36.6499075Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/const_arg_promotable2.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/consts/const_arg_promotable2" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/const_arg_promotable2/auxiliary" "-A" "unused"
2019-08-30T23:19:36.6499612Z ------------------------------------------
2019-08-30T23:19:36.6499652Z 
2019-08-30T23:19:36.6502737Z ------------------------------------------
2019-08-30T23:19:36.6502787Z stderr:
2019-08-30T23:19:36.6502787Z stderr:
2019-08-30T23:19:36.6502960Z ------------------------------------------
2019-08-30T23:19:36.6503201Z error: internal compiler error: src/librustc_mir/interpret/eval_context.rs:139: The type checker should prevent reading from a never-written local
2019-08-30T23:19:36.6503612Z thread 'rustc' panicked at 'Box<Any>', src/librustc_errors/lib.rs:643:9
2019-08-30T23:19:36.6503658Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2019-08-30T23:19:36.6503713Z error: aborting due to previous error
2019-08-30T23:19:36.6503736Z 
2019-08-30T23:19:36.6503736Z 
2019-08-30T23:19:36.6503755Z 
2019-08-30T23:19:36.6503790Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-30T23:19:36.6503829Z 
2019-08-30T23:19:36.6504088Z note: we would appreciate a bug report: ***/blob/master/CONTRIBUTING.md#bug-reports
2019-08-30T23:19:36.6504328Z note: rustc 1.39.0-dev running on x86_64-unknown-linux-gnu
2019-08-30T23:19:36.6504354Z 
2019-08-30T23:19:36.6504354Z 
2019-08-30T23:19:36.6504564Z note: compiler flags: -Z threads=1 -Z ui-testing -Z unstable-options -C prefer-dynamic -C rpath -C debuginfo=0
2019-08-30T23:19:36.6504612Z 
2019-08-30T23:19:36.6504786Z ------------------------------------------
2019-08-30T23:19:36.6504858Z 
2019-08-30T23:19:36.6504879Z 
2019-08-30T23:19:36.6504879Z 
2019-08-30T23:19:36.6505056Z ---- [ui] ui/consts/const_arg_promotable.rs stdout ----
2019-08-30T23:19:36.6505097Z 
2019-08-30T23:19:36.6505130Z error: ui test compiled successfully!
2019-08-30T23:19:36.6505164Z status: exit code: 0
2019-08-30T23:19:36.6505811Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/const_arg_promotable.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/consts/const_arg_promotable" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/const_arg_promotable/auxiliary" "-A" "unused"
2019-08-30T23:19:36.6506090Z ------------------------------------------
2019-08-30T23:19:36.6506125Z 
2019-08-30T23:19:36.6506288Z ------------------------------------------
2019-08-30T23:19:36.6506338Z stderr:
2019-08-30T23:19:36.6506338Z stderr:
2019-08-30T23:19:36.6506497Z ------------------------------------------
2019-08-30T23:19:36.6506521Z 
2019-08-30T23:19:36.6506675Z ------------------------------------------
2019-08-30T23:19:36.6506699Z 
2019-08-30T23:19:36.6506734Z 
2019-08-30T23:19:36.6506897Z ---- [ui] ui/consts/const_arg_wrapper.rs stdout ----
2019-08-30T23:19:36.6507096Z 
2019-08-30T23:19:36.6507133Z error: Error: expected failure status (Some(1)) but received status Some(101).
2019-08-30T23:19:36.6507187Z status: exit code: 101
2019-08-30T23:19:36.6507974Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/const_arg_wrapper.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/consts/const_arg_wrapper" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/const_arg_wrapper/auxiliary" "-A" "unused"
2019-08-30T23:19:36.6508244Z ------------------------------------------
2019-08-30T23:19:36.6508272Z 
2019-08-30T23:19:36.6508635Z ------------------------------------------
2019-08-30T23:19:36.6508850Z stderr:
2019-08-30T23:19:36.6508850Z stderr:
2019-08-30T23:19:36.6509285Z ------------------------------------------
2019-08-30T23:19:36.6509605Z thread 'rustc' panicked at 'index out of bounds: the len is 2 but the index is 3', /checkout/src/libcore/slice/mod.rs:2715:10
2019-08-30T23:19:36.6509721Z 
2019-08-30T23:19:36.6509783Z error: internal compiler error: unexpected panic
2019-08-30T23:19:36.6509813Z 
2019-08-30T23:19:36.6509858Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-30T23:19:36.6509858Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-30T23:19:36.6509999Z 
2019-08-30T23:19:36.6510369Z note: we would appreciate a bug report: ***/blob/master/CONTRIBUTING.md#bug-reports
2019-08-30T23:19:36.6510648Z note: rustc 1.39.0-dev running on x86_64-unknown-linux-gnu
2019-08-30T23:19:36.6510698Z 
2019-08-30T23:19:36.6510698Z 
2019-08-30T23:19:36.6510974Z note: compiler flags: -Z threads=1 -Z ui-testing -Z unstable-options -C prefer-dynamic -C rpath -C debuginfo=0
2019-08-30T23:19:36.6511037Z 
2019-08-30T23:19:36.6511260Z ------------------------------------------
2019-08-30T23:19:36.6511292Z 
2019-08-30T23:19:36.6511317Z 
2019-08-30T23:19:36.6511317Z 
2019-08-30T23:19:36.6511536Z ---- [ui] ui/consts/invalid_promotion.rs stdout ----
2019-08-30T23:19:36.6511579Z 
2019-08-30T23:19:36.6511819Z error: test compilation failed although it shouldn't!
2019-08-30T23:19:36.6511869Z status: exit code: 101
2019-08-30T23:19:36.6512832Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/invalid_promotion.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/consts/invalid_promotion" "-Crpath" "-O" "-Cdebuginfo=0" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--crate-type=lib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/invalid_promotion/auxiliary" "-A" "unused"
2019-08-30T23:19:36.6513087Z ------------------------------------------
2019-08-30T23:19:36.6513131Z 
2019-08-30T23:19:36.6513293Z ------------------------------------------
2019-08-30T23:19:36.6513396Z stderr:
2019-08-30T23:19:36.6513396Z stderr:
2019-08-30T23:19:36.6513601Z ------------------------------------------
2019-08-30T23:19:36.6513841Z error: internal compiler error: src/librustc/mir/tcx.rs:84: deref projection of non-dereferencable ty PlaceTy { ty: Hz, variant_index: None }
2019-08-30T23:19:36.6514072Z thread 'rustc' panicked at 'Box<Any>', src/librustc_errors/lib.rs:643:9
2019-08-30T23:19:36.6514125Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2019-08-30T23:19:36.6514162Z error: aborting due to previous error
2019-08-30T23:19:36.6514184Z 
2019-08-30T23:19:36.6514184Z 
2019-08-30T23:19:36.6514219Z 
2019-08-30T23:19:36.6514253Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-30T23:19:36.6514275Z 
2019-08-30T23:19:36.6514528Z note: we would appreciate a bug report: ***/blob/master/CONTRIBUTING.md#bug-reports
2019-08-30T23:19:36.6514736Z note: rustc 1.39.0-dev running on x86_64-unknown-linux-gnu
2019-08-30T23:19:36.6514761Z 
2019-08-30T23:19:36.6514761Z 
2019-08-30T23:19:36.6515003Z note: compiler flags: -Z threads=1 -Z ui-testing -Z unstable-options -C prefer-dynamic -C rpath -C debuginfo=0 --crate-type lib
2019-08-30T23:19:36.6515054Z 
2019-08-30T23:19:36.6515214Z ------------------------------------------
2019-08-30T23:19:36.6515238Z 
2019-08-30T23:19:36.6515271Z 
2019-08-30T23:19:36.6515271Z 
2019-08-30T23:19:36.6515466Z ---- [ui] ui/consts/rfc-2203-const-array-repeat-exprs/nll-fail.rs stdout ----
2019-08-30T23:19:36.6515494Z 
2019-08-30T23:19:36.6515526Z error: ui test compiled successfully!
2019-08-30T23:19:36.6515574Z status: exit code: 0
2019-08-30T23:19:36.6516175Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/nll-fail.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/consts/rfc-2203-const-array-repeat-exprs/nll-fail" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/rfc-2203-const-array-repeat-exprs/nll-fail/auxiliary" "-A" "unused"
2019-08-30T23:19:36.6516425Z ------------------------------------------
2019-08-30T23:19:36.6516522Z 
2019-08-30T23:19:36.6516723Z ------------------------------------------
2019-08-30T23:19:36.6516759Z stderr:
---
2019-08-30T23:19:36.6517703Z ---- [ui] ui/consts/rfc-2203-const-array-repeat-exprs/migrate-fail.rs stdout ----
2019-08-30T23:19:36.6517748Z 
2019-08-30T23:19:36.6517782Z error: ui test compiled successfully!
2019-08-30T23:19:36.6517816Z status: exit code: 0
2019-08-30T23:19:36.6518675Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/migrate-fail.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/consts/rfc-2203-const-array-repeat-exprs/migrate-fail" "-Crpath" "-O" "-Cdebuginfo=0" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-Z" "borrowck=migrate" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/rfc-2203-const-array-repeat-exprs/migrate-fail/auxiliary" "-A" "unused"
2019-08-30T23:19:36.6519377Z ------------------------------------------
2019-08-30T23:19:36.6519413Z 
2019-08-30T23:19:36.6519626Z ------------------------------------------
2019-08-30T23:19:36.6519696Z stderr:
---
2019-08-30T23:19:36.6520606Z ---- [ui] ui/consts/rfc-2203-const-array-repeat-exprs/trait-error.rs stdout ----
2019-08-30T23:19:36.6520644Z 
2019-08-30T23:19:36.6520706Z error: ui test compiled successfully!
2019-08-30T23:19:36.6520761Z status: exit code: 0
2019-08-30T23:19:36.6521579Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/rfc-2203-const-array-repeat-exprs/trait-error.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/consts/rfc-2203-const-array-repeat-exprs/trait-error" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/rfc-2203-const-array-repeat-exprs/trait-error/auxiliary" "-A" "unused"
2019-08-30T23:19:36.6521921Z ------------------------------------------
2019-08-30T23:19:36.6521955Z 
2019-08-30T23:19:36.6522165Z ------------------------------------------
2019-08-30T23:19:36.6522211Z stderr:
2019-08-30T23:19:36.6522211Z stderr:
2019-08-30T23:19:36.6522583Z ------------------------------------------
2019-08-30T23:19:36.6522615Z 
2019-08-30T23:19:36.6522777Z ------------------------------------------
2019-08-30T23:19:36.6522802Z 
2019-08-30T23:19:36.6522836Z 
2019-08-30T23:19:36.6523017Z ---- [ui] ui/consts/uninhabited-const-issue-61744.rs stdout ----
2019-08-30T23:19:36.6523046Z 
2019-08-30T23:19:36.6523084Z error: Error: expected failure status (Some(1)) but received status Some(101).
2019-08-30T23:19:36.6523135Z status: exit code: 101
2019-08-30T23:19:36.6523726Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/consts/uninhabited-const-issue-61744.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/consts/uninhabited-const-issue-61744" "-Crpath" "-O" "-Cdebuginfo=0" "-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/consts/uninhabited-const-issue-61744/auxiliary" "-A" "unused"
2019-08-30T23:19:36.6524073Z ------------------------------------------
2019-08-30T23:19:36.6524101Z 
2019-08-30T23:19:36.6524282Z ------------------------------------------
2019-08-30T23:19:36.6524318Z stderr:
2019-08-30T23:19:36.6524318Z stderr:
2019-08-30T23:19:36.6524478Z ------------------------------------------
2019-08-30T23:19:36.6524751Z thread 'rustc' panicked at '`apply_call_return_effect` must not be called unless cursor is pointing at a `Call` terminator', src/librustc_mir/dataflow/generic.rs:227:9
2019-08-30T23:19:36.6524837Z 
2019-08-30T23:19:36.6524888Z error: internal compiler error: unexpected panic
2019-08-30T23:19:36.6524911Z 
2019-08-30T23:19:36.6524946Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-30T23:19:36.6524946Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-30T23:19:36.6524969Z 
2019-08-30T23:19:36.6525235Z note: we would appreciate a bug report: ***/blob/master/CONTRIBUTING.md#bug-reports
2019-08-30T23:19:36.6525463Z note: rustc 1.39.0-dev running on x86_64-unknown-linux-gnu
2019-08-30T23:19:36.6525489Z 
2019-08-30T23:19:36.6525489Z 
2019-08-30T23:19:36.6525716Z note: compiler flags: -Z threads=1 -Z ui-testing -Z unstable-options -C prefer-dynamic -C rpath -C debuginfo=0
2019-08-30T23:19:36.6525765Z 
2019-08-30T23:19:36.6525926Z ------------------------------------------
2019-08-30T23:19:36.6525965Z 
2019-08-30T23:19:36.6525985Z 
2019-08-30T23:19:36.6525985Z 
2019-08-30T23:19:36.6526166Z ---- [ui] ui/functions-closures/fn-item-type-zero-sized.rs stdout ----
2019-08-30T23:19:36.6526193Z 
2019-08-30T23:19:36.6526453Z error: test compilation failed although it shouldn't!
2019-08-30T23:19:36.6526500Z status: exit code: 101
2019-08-30T23:19:36.6527292Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/functions-closures/fn-item-type-zero-sized.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/functions-closures/fn-item-type-zero-sized/a" "-Crpath" "-O" "-Cdebuginfo=0" "-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/functions-closures/fn-item-type-zero-sized/auxiliary" "-A" "unused"
2019-08-30T23:19:36.6527566Z ------------------------------------------
2019-08-30T23:19:36.6527611Z 
2019-08-30T23:19:36.6527780Z ------------------------------------------
2019-08-30T23:19:36.6527817Z stderr:
2019-08-30T23:19:36.6527817Z stderr:
2019-08-30T23:19:36.6528003Z ------------------------------------------
2019-08-30T23:19:36.6528247Z thread 'rustc' panicked at 'index out of bounds: the len is 6 but the index is 50', /checkout/src/libcore/slice/mod.rs:2715:10
2019-08-30T23:19:36.6528515Z 
2019-08-30T23:19:36.6528559Z error: internal compiler error: unexpected panic
2019-08-30T23:19:36.6528583Z 
2019-08-30T23:19:36.6528766Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-30T23:19:36.6528766Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-30T23:19:36.6528977Z 
2019-08-30T23:19:36.6529353Z note: we would appreciate a bug report: ***/blob/master/CONTRIBUTING.md#bug-reports
2019-08-30T23:19:36.6529649Z note: rustc 1.39.0-dev running on x86_64-unknown-linux-gnu
2019-08-30T23:19:36.6529682Z 
2019-08-30T23:19:36.6529682Z 
2019-08-30T23:19:36.6529957Z note: compiler flags: -Z threads=1 -Z ui-testing -Z unstable-options -C prefer-dynamic -C rpath -C debuginfo=0
2019-08-30T23:19:36.6530020Z 
2019-08-30T23:19:36.6530256Z ------------------------------------------
2019-08-30T23:19:36.6530290Z 
2019-08-30T23:19:36.6530315Z 
2019-08-30T23:19:36.6530315Z 
2019-08-30T23:19:36.6530534Z ---- [ui] ui/issues/issue-32829.rs stdout ----
2019-08-30T23:19:36.6530585Z 
2019-08-30T23:19:36.6530632Z error: Error: expected failure status (Some(1)) but received status Some(101).
2019-08-30T23:19:36.6530783Z status: exit code: 101
2019-08-30T23:19:36.6531545Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/issues/issue-32829.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/issues/issue-32829" "-Crpath" "-O" "-Cdebuginfo=0" "-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-32829/auxiliary" "-A" "unused"
2019-08-30T23:19:36.6531877Z ------------------------------------------
2019-08-30T23:19:36.6531913Z 
2019-08-30T23:19:36.6532310Z ------------------------------------------
2019-08-30T23:19:36.6532351Z stderr:
2019-08-30T23:19:36.6532351Z stderr:
2019-08-30T23:19:36.6532701Z ------------------------------------------
2019-08-30T23:19:36.6532741Z error[E0658]: panicking in statics is unstable
2019-08-30T23:19:36.6532932Z   --> /checkout/src/test/ui/issues/issue-32829.rs:1:22
2019-08-30T23:19:36.6532986Z    |
2019-08-30T23:19:36.6533023Z LL | static S : u64 = { { panic!("foo"); 0 } };
2019-08-30T23:19:36.6533110Z    |
2019-08-30T23:19:36.6533110Z    |
2019-08-30T23:19:36.6533332Z    = note: for more information, see ***/issues/51999
2019-08-30T23:19:36.6533378Z    = help: add `#![feature(const_panic)]` to the crate attributes to enable
2019-08-30T23:19:36.6533766Z 
2019-08-30T23:19:36.6533766Z 
2019-08-30T23:19:36.6534093Z thread 'rustc' panicked at '`apply_call_return_effect` must not be called unless cursor is pointing at a `Call` terminator', src/librustc_mir/dataflow/generic.rs:227:9
2019-08-30T23:19:36.6534219Z error: aborting due to previous error
2019-08-30T23:19:36.6534244Z 
2019-08-30T23:19:36.6534474Z For more information about this error, try `rustc --explain E0658`.
2019-08-30T23:19:36.6534504Z 
2019-08-30T23:19:36.6534504Z 
2019-08-30T23:19:36.6534541Z error: internal compiler error: unexpected panic
2019-08-30T23:19:36.6534566Z 
2019-08-30T23:19:36.6534621Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-30T23:19:36.6534646Z 
2019-08-30T23:19:36.6534909Z note: we would appreciate a bug report: ***/blob/master/CONTRIBUTING.md#bug-reports
2019-08-30T23:19:36.6535162Z note: rustc 1.39.0-dev running on x86_64-unknown-linux-gnu
2019-08-30T23:19:36.6535191Z 
2019-08-30T23:19:36.6535191Z 
2019-08-30T23:19:36.6535431Z note: compiler flags: -Z threads=1 -Z ui-testing -Z unstable-options -C prefer-dynamic -C rpath -C debuginfo=0
2019-08-30T23:19:36.6535501Z 
2019-08-30T23:19:36.6535689Z ------------------------------------------
2019-08-30T23:19:36.6535716Z 
2019-08-30T23:19:36.6535737Z 
2019-08-30T23:19:36.6535737Z 
2019-08-30T23:19:36.6535953Z ---- [ui] ui/rustc-args-required-const.rs stdout ----
2019-08-30T23:19:36.6535981Z 
2019-08-30T23:19:36.6536021Z error: Error: expected failure status (Some(1)) but received status Some(101).
2019-08-30T23:19:36.6536060Z status: exit code: 101
2019-08-30T23:19:36.6536674Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/rustc-args-required-const.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/rustc-args-required-const" "-Crpath" "-O" "-Cdebuginfo=0" "-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/rustc-args-required-const/auxiliary" "-A" "unused"
2019-08-30T23:19:36.6536956Z ------------------------------------------
2019-08-30T23:19:36.6536985Z 
2019-08-30T23:19:36.6537271Z ------------------------------------------
2019-08-30T23:19:36.6537327Z stderr:
2019-08-30T23:19:36.6537327Z stderr:
2019-08-30T23:19:36.6537508Z ------------------------------------------
2019-08-30T23:19:36.6537757Z thread 'rustc' panicked at 'index out of bounds: the len is 2 but the index is 5', /checkout/src/libcore/slice/mod.rs:2715:10
2019-08-30T23:19:36.6537854Z 
2019-08-30T23:19:36.6537891Z error: internal compiler error: unexpected panic
2019-08-30T23:19:36.6537915Z 
2019-08-30T23:19:36.6537968Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-30T23:19:36.6537968Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-30T23:19:36.6537994Z 
2019-08-30T23:19:36.6538263Z note: we would appreciate a bug report: ***/blob/master/CONTRIBUTING.md#bug-reports
2019-08-30T23:19:36.6539082Z note: rustc 1.39.0-dev running on x86_64-unknown-linux-gnu
2019-08-30T23:19:36.6539121Z 
2019-08-30T23:19:36.6539121Z 
2019-08-30T23:19:36.6539410Z note: compiler flags: -Z threads=1 -Z ui-testing -Z unstable-options -C prefer-dynamic -C rpath -C debuginfo=0
2019-08-30T23:19:36.6539502Z 
2019-08-30T23:19:36.6539716Z ------------------------------------------
2019-08-30T23:19:36.6539749Z 
2019-08-30T23:19:36.6539789Z 
2019-08-30T23:19:36.6539789Z 
2019-08-30T23:19:36.6540016Z ---- [ui] ui/unsized-locals/borrow-after-move.rs stdout ----
2019-08-30T23:19:36.6540049Z 
2019-08-30T23:19:36.6540098Z error: Error: expected failure status (Some(1)) but received status Some(101).
2019-08-30T23:19:36.6540163Z status: exit code: 101
2019-08-30T23:19:36.6541004Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/unsized-locals/borrow-after-move.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/unsized-locals/borrow-after-move" "-Crpath" "-O" "-Cdebuginfo=0" "-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/unsized-locals/borrow-after-move/auxiliary" "-A" "unused"
2019-08-30T23:19:36.6541378Z ------------------------------------------
2019-08-30T23:19:36.6541413Z 
2019-08-30T23:19:36.6541648Z ------------------------------------------
2019-08-30T23:19:36.6541695Z stderr:
2019-08-30T23:19:36.6541695Z stderr:
2019-08-30T23:19:36.6541905Z ------------------------------------------
2019-08-30T23:19:36.6542826Z thread 'rustc' panicked at 'index out of bounds: the len is 2 but the index is 6', /checkout/src/libcore/slice/mod.rs:2715:10
2019-08-30T23:19:36.6542922Z 
2019-08-30T23:19:36.6542957Z error: internal compiler error: unexpected panic
2019-08-30T23:19:36.6542996Z 
2019-08-30T23:19:36.6543031Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-30T23:19:36.6543031Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-30T23:19:36.6543056Z 
2019-08-30T23:19:36.6543363Z note: we would appreciate a bug report: ***/blob/master/CONTRIBUTING.md#bug-reports
2019-08-30T23:19:36.6543596Z note: rustc 1.39.0-dev running on x86_64-unknown-linux-gnu
2019-08-30T23:19:36.6543623Z 
2019-08-30T23:19:36.6543623Z 
2019-08-30T23:19:36.6543854Z note: compiler flags: -Z threads=1 -Z ui-testing -Z unstable-options -C prefer-dynamic -C rpath -C debuginfo=0
2019-08-30T23:19:36.6543904Z 
2019-08-30T23:19:36.6544069Z ------------------------------------------
2019-08-30T23:19:36.6544110Z 
2019-08-30T23:19:36.6544131Z 
---
2019-08-30T23:19:36.6547976Z thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:536:22
2019-08-30T23:19:36.6548024Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2019-08-30T23:19:36.6548050Z 
2019-08-30T23:19:36.6548087Z 
2019-08-30T23:19:36.6553130Z 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 -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"
2019-08-30T23:19:36.6553627Z 
2019-08-30T23:19:36.6553651Z 
2019-08-30T23:19:36.6553686Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
2019-08-30T23:19:36.6553740Z Build completed unsuccessfully in 1:03:13
2019-08-30T23:19:36.6553740Z Build completed unsuccessfully in 1:03:13
2019-08-30T23:19:36.6553813Z == clock drift check ==
2019-08-30T23:19:36.6576878Z   local time: Fri Aug 30 23:19:36 UTC 2019
2019-08-30T23:19:36.9340625Z   network time: Fri, 30 Aug 2019 23:19:36 GMT
2019-08-30T23:19:36.9340858Z == end clock drift check ==
2019-08-30T23:19:37.6902438Z ##[error]Bash exited with code '1'.
2019-08-30T23:19:37.6935467Z ##[section]Starting: Checkout
2019-08-30T23:19:37.6936938Z ==============================================================================
2019-08-30T23:19:37.6936981Z Task         : Get sources
2019-08-30T23:19:37.6937019Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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)

@ecstatic-morse ecstatic-morse force-pushed the qualifs-temp branch 2 times, most recently from 71c1209 to 8fd7189 Compare September 4, 2019 18:17
Centril added a commit to Centril/rust that referenced this pull request Sep 5, 2019
Add a `Place::is_indirect` method to determine whether a `Place` contains a `Deref` projection

Working on rust-lang#63860 requires tracking some property about each local. This requires differentiating `Place`s like `x` and `x.field[index]` from ones like `*x` and `*x.field`, since the first two will always access the same region of memory as `x` while the latter two may access any region of memory. This functionality is duplicated in various places across the compiler. This PR adds a helper method to `Place` which determines whether that `Place` has a `Deref` projection at any point and changes some existing code to use the new method.

I've not converted `qualify_consts.rs` to use the new method, since it's not a trivial conversion and it will get replaced anyway by rust-lang#63860. There may be other potential uses besides the two I change in this PR.

r? @oli-obk
Centril added a commit to Centril/rust that referenced this pull request Sep 5, 2019
Add a `Place::is_indirect` method to determine whether a `Place` contains a `Deref` projection

Working on rust-lang#63860 requires tracking some property about each local. This requires differentiating `Place`s like `x` and `x.field[index]` from ones like `*x` and `*x.field`, since the first two will always access the same region of memory as `x` while the latter two may access any region of memory. This functionality is duplicated in various places across the compiler. This PR adds a helper method to `Place` which determines whether that `Place` has a `Deref` projection at any point and changes some existing code to use the new method.

I've not converted `qualify_consts.rs` to use the new method, since it's not a trivial conversion and it will get replaced anyway by rust-lang#63860. There may be other potential uses besides the two I change in this PR.

r? @oli-obk
bors added a commit that referenced this pull request Sep 8, 2019
…oli-obk

Refactor the `MirPass for QualifyAndPromoteConstants`

This is an accumulation of drive-by commits while working on `Vec::new` as a stable `const fn`.
The PR is probably easiest read commit-by-commit.

r? @oli-obk

cc @eddyb @ecstatic-morse -- your two PRs #63812 and #63860 respectively will conflict with this a tiny bit but it should be trivial to reintegrate your changes atop of this.
@bors
Copy link
Contributor

bors commented Sep 8, 2019

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

To do dataflow-based qualification, we need to pass a reference to the
dataflow state directly to the `Qualif::in_*` methods. As such, we
move the `PerQualif<BitSet<Local>>` that holds the qualification state
for each local to `Checker` itself and use a macro (`get_qualif`) to
extract the correct `BitSet` when querying the qualifications for each
local.
@bors
Copy link
Contributor

bors commented Sep 13, 2019

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

@ecstatic-morse
Copy link
Contributor Author

This PR has been subsumed by #64470.

bors added a commit that referenced this pull request Sep 29, 2019
… r=eddyb,oli-obk

Implement dataflow-based const validation

This PR adds a separate, dataflow-enabled pass that checks the bodies of `const`s, `static`s and `const fn`s for [const safety](https://github.com/rust-rfcs/const-eval/blob/master/const.md). This is based on my work in #63860, which tried to integrate into the existing pass in [`qualify_consts.rs`](https://github.com/rust-lang/rust/blob/master/src/librustc_mir/transform/qualify_consts.rs). However, the resulting pass was even more unwieldy than the original. Unlike its predecessor, this PR is designed to be combined with #63812 to replace the existing pass completely.

The new checker lives in [`librustc_mir/transform/check_consts`](https://github.com/ecstatic-morse/rust/tree/split-promotion-and-validation/src/librustc_mir/transform/check_consts).

[`qualifs.rs`](https://github.com/ecstatic-morse/rust/blob/split-promotion-and-validation/src/librustc_mir/transform/check_consts/qualifs.rs) contains small modifications to the existing `Qualif` trait and its implementors, but is mostly unchanged except for the removal of `IsNotPromotable` and `IsNotImplicitlyPromotable`, which are only necessary for promotion.

[`resolver.rs`](https://github.com/ecstatic-morse/rust/blob/split-promotion-and-validation/src/librustc_mir/transform/check_consts/resolver.rs) contains the dataflow analysis used to propagate qualifs between locals.

Finally, [`validation.rs`](https://github.com/ecstatic-morse/rust/blob/split-promotion-and-validation/src/librustc_mir/transform/check_consts/validation.rs) contains a refactored version of the existing [`Visitor`](https://github.com/rust-lang/rust/blob/ca3766e2e58f462a20922e42c821a37eaf0e13db/src/librustc_mir/transform/qualify_consts.rs#L1024) in `qualfy_consts.rs`. All errors have been associated with a `struct` to make [comparison with the existing pass](https://github.com/ecstatic-morse/rust/blob/1c19f2d540ca0a964900449d79a5d5181b43146d/src/librustc_mir/transform/qualify_consts.rs#L1006) simple.

The existing validation logic in [`qualify_consts`](https://github.com/rust-lang/rust/blob/master/src/librustc_mir/transform/qualify_consts.rs) has been modified to allow it to run in parallel with the new validator. If [`use_new_validator`](https://github.com/rust-lang/rust/pull/64470/files#diff-c2552a106550d05b69d5e07612f0f812R950) is not set, the old validation will be responsible for actually generating the errors, but those errors can be compared with the ones from the new validator.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-review Status: Awaiting review from the assignee but also interested parties.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants