Skip to content

Conversation

Dylan-DPC-zz
Copy link

Successful merges:

Failed merges:

r? @ghost

eddyb and others added 14 commits February 6, 2020 11:04
This reduces the number of `associated_item` queries done here.
Quickly skip impls that do not define any items with the same name
`InferCtxt` contains six structures within `RefCell`s. Every time we create and dispose of (commit or rollback) a snapshot we have to `borrow_mut` each one of them. This commit moves the six structures under a single `RefCell`, which gives significant speed-ups by reducing the number of `borrow_mut` calls. To avoid runtime errors I had to reduce the lifetimes of dynamic borrows in a couple of places.
…rCtxt, r=varkor Reduce the number of `RefCell`s in `InferCtxt`. `InferCtxt` contains six structures within `RefCell`s. Every time we create and dispose of (commit or rollback) a snapshot we have to `borrow_mut` each one of them. This commit moves the six structures under a single `RefCell`, which gives significant speed-ups by reducing the number of `borrow_mut` calls. To avoid runtime errors I had to reduce the lifetimes of dynamic borrows in a couple of places. r? @varkor
…agisa rustc_codegen_llvm: always set AlwaysPreserve on all debuginfo variables Making this depend on the optimization level appears to have been a copy-paste mistake (other LLVM functions called in this module also take a `bool` argument, but there it means something unrelated). Also see rust-lang#8855 (comment). I don't believe we have any reason to let LLVM omit user variables from DWARF, and we were already setting this to `true` when LLVM *could* optimize them away, so this PR should have no effect anyway. r? @michaelwoerister or @nagisa cc @rkruppe @nikomatsakis
…=petrochenkov Speed up the inherent impl overlap check This gives a ~7% improvement in compile times for the stm32f0(x2) crate. Also addresses @eddyb's comment in rust-lang#68837 (comment).
Pretty-print generic params and where clauses on associated types closes rust-lang#67509
@Dylan-DPC-zz
Copy link
Author

@bors r+ p=4 rollup=never

@bors
Copy link
Collaborator

bors commented Feb 9, 2020

📌 Commit 96c6398 has been approved by Dylan-DPC

@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Feb 9, 2020
@Dylan-DPC-zz Dylan-DPC-zz added the rollup A PR which is a rollup label Feb 9, 2020
@rust-highfive
Copy link
Contributor

The job mingw-check of your PR failed (pretty log, 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.
2020-02-09T13:52:59.7803816Z ========================== Starting Command Output =========================== 2020-02-09T13:52:59.7805099Z [command]/bin/bash --noprofile --norc /home/vsts/work/_temp/b9372ccd-9648-4997-8d67-c20615ae50b6.sh 2020-02-09T13:52:59.7805130Z 2020-02-09T13:52:59.7808041Z ##[section]Finishing: Disable git automatic line ending conversion 2020-02-09T13:52:59.7814641Z ##[section]Starting: Checkout rust-lang/rust@refs/pull/68996/merge to s 2020-02-09T13:52:59.7816261Z Task : Get sources 2020-02-09T13:52:59.7816288Z Description : Get sources from a repository. Supports Git, TfsVC, and SVN repositories. 2020-02-09T13:52:59.7816314Z Version : 1.0.0 2020-02-09T13:52:59.7816340Z Author : Microsoft --- 2020-02-09T13:53:04.5280557Z ##[command]git remote add origin https://github.com/rust-lang/rust 2020-02-09T13:53:04.5354728Z ##[command]git config gc.auto 0 2020-02-09T13:53:04.5398346Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader 2020-02-09T13:53:04.5410058Z ##[command]git config --get-all http.proxy 2020-02-09T13:53:04.5415548Z ##[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/68996/merge:refs/remotes/pull/68996/merge --- 2020-02-09T14:00:19.9665031Z Checking rustc_parse v0.0.0 (/checkout/src/librustc_parse) 2020-02-09T14:00:22.3649103Z Checking rustc_ast_passes v0.0.0 (/checkout/src/librustc_ast_passes) 2020-02-09T14:00:23.0999799Z Checking rustc_expand v0.0.0 (/checkout/src/librustc_expand) 2020-02-09T14:00:24.6234371Z Checking rustc_builtin_macros v0.0.0 (/checkout/src/librustc_builtin_macros) 2020-02-09T14:00:29.4804142Z error[E0063]: missing field `skip_leak_check` in initializer of `infer::InferCtxtInner<'_>` 2020-02-09T14:00:29.4806191Z | 2020-02-09T14:00:29.4806720Z 180 | InferCtxtInner { 2020-02-09T14:00:29.4807294Z | ^^^^^^^^^^^^^^ missing `skip_leak_check` 2020-02-09T14:00:29.4807549Z 2020-02-09T14:00:29.4807549Z 2020-02-09T14:00:29.5251872Z error[E0560]: struct `infer::InferCtxt<'_, '_>` has no field named `skip_leak_check` 2020-02-09T14:00:29.5253627Z --> src/librustc/infer/mod.rs:578:17 2020-02-09T14:00:29.5254237Z | 2020-02-09T14:00:29.5254795Z 578 | skip_leak_check: Cell::new(false), 2020-02-09T14:00:29.5255458Z | ^^^^^^^^^^^^^^^ `infer::InferCtxt<'_, '_>` does not have this field 2020-02-09T14:00:29.5255954Z | 2020-02-09T14:00:29.5256580Z = note: available fields are: `tcx`, `in_progress_tables`, `inner`, `lexical_region_resolutions`, `selection_cache` ... and 7 others 2020-02-09T14:00:29.5257494Z error[E0560]: struct `infer::InferCtxt<'_, '_>` has no field named `region_obligations` 2020-02-09T14:00:29.5258059Z --> src/librustc/infer/mod.rs:579:17 2020-02-09T14:00:29.5258711Z | 2020-02-09T14:00:29.5258711Z | 2020-02-09T14:00:29.5259266Z 579 | region_obligations: RefCell::new(vec![]), 2020-02-09T14:00:29.5259921Z | ^^^^^^^^^^^^^^^^^^ `infer::InferCtxt<'_, '_>` does not have this field 2020-02-09T14:00:29.5260555Z | 2020-02-09T14:00:29.5261192Z = note: available fields are: `tcx`, `in_progress_tables`, `inner`, `lexical_region_resolutions`, `selection_cache` ... and 7 others 2020-02-09T14:00:29.5262462Z 2020-02-09T14:00:29.5681267Z error[E0609]: no field `skip_leak_check` on type `&infer::InferCtxt<'a, 'tcx>` 2020-02-09T14:00:29.5684334Z | 2020-02-09T14:00:29.5684334Z | 2020-02-09T14:00:29.5684603Z 751 | was_skip_leak_check: self.skip_leak_check.get(), 2020-02-09T14:00:29.5692476Z | 2020-02-09T14:00:29.5692476Z | 2020-02-09T14:00:29.5693310Z = note: available fields are: `tcx`, `in_progress_tables`, `inner`, `lexical_region_resolutions`, `selection_cache` ... and 7 others 2020-02-09T14:00:29.5693501Z 2020-02-09T14:00:29.5711656Z error[E0609]: no field `skip_leak_check` on type `&infer::InferCtxt<'a, 'tcx>` 2020-02-09T14:00:29.5715881Z | 2020-02-09T14:00:29.5715881Z | 2020-02-09T14:00:29.5716168Z 776 | self.skip_leak_check.set(was_skip_leak_check); 2020-02-09T14:00:29.5716868Z | 2020-02-09T14:00:29.5716868Z | 2020-02-09T14:00:29.5717214Z = note: available fields are: `tcx`, `in_progress_tables`, `inner`, `lexical_region_resolutions`, `selection_cache` ... and 7 others 2020-02-09T14:00:29.5717260Z 2020-02-09T14:00:29.5748704Z error[E0609]: no field `skip_leak_check` on type `&infer::InferCtxt<'a, 'tcx>` 2020-02-09T14:00:29.5749259Z | 2020-02-09T14:00:29.5749259Z | 2020-02-09T14:00:29.5749726Z 805 | self.skip_leak_check.set(was_skip_leak_check); 2020-02-09T14:00:29.5750402Z | 2020-02-09T14:00:29.5750402Z | 2020-02-09T14:00:29.5750726Z = note: available fields are: `tcx`, `in_progress_tables`, `inner`, `lexical_region_resolutions`, `selection_cache` ... and 7 others 2020-02-09T14:00:29.5750767Z 2020-02-09T14:00:29.5841553Z error[E0609]: no field `skip_leak_check` on type `&infer::InferCtxt<'a, 'tcx>` 2020-02-09T14:00:29.5842263Z | 2020-02-09T14:00:29.5842263Z | 2020-02-09T14:00:29.5842608Z 867 | let skip_leak_check = should_skip || self.skip_leak_check.get(); 2020-02-09T14:00:29.5843219Z | 2020-02-09T14:00:29.5843219Z | 2020-02-09T14:00:29.5843577Z = note: available fields are: `tcx`, `in_progress_tables`, `inner`, `lexical_region_resolutions`, `selection_cache` ... and 7 others 2020-02-09T14:00:29.5843624Z 2020-02-09T14:00:29.5859094Z error[E0609]: no field `skip_leak_check` on type `&infer::InferCtxt<'a, 'tcx>` 2020-02-09T14:00:29.5859631Z | 2020-02-09T14:00:29.5859631Z | 2020-02-09T14:00:29.5859922Z 868 | self.skip_leak_check.set(skip_leak_check); 2020-02-09T14:00:29.5860478Z | 2020-02-09T14:00:29.5860478Z | 2020-02-09T14:00:29.5860826Z = note: available fields are: `tcx`, `in_progress_tables`, `inner`, `lexical_region_resolutions`, `selection_cache` ... and 7 others 2020-02-09T14:00:29.5861006Z 2020-02-09T14:00:30.2414916Z error[E0609]: no field `skip_leak_check` on type `&infer::InferCtxt<'a, 'tcx>` 2020-02-09T14:00:30.2416459Z --> src/librustc/infer/higher_ranked/mod.rs:137:68 2020-02-09T14:00:30.2417033Z | 2020-02-09T14:00:30.2417599Z 137 | if self.tcx.sess.opts.debugging_opts.no_leak_check || self.skip_leak_check.get() { 2020-02-09T14:00:30.2419155Z | 2020-02-09T14:00:30.2419155Z | 2020-02-09T14:00:30.2419798Z = note: available fields are: `tcx`, `in_progress_tables`, `inner`, `lexical_region_resolutions`, `selection_cache` ... and 7 others 2020-02-09T14:00:39.0270952Z error: aborting due to 9 previous errors 2020-02-09T14:00:39.0271696Z 2020-02-09T14:00:39.0272232Z Some errors have detailed explanations: E0063, E0560, E0609. 2020-02-09T14:00:39.0272693Z For more information about an error, try `rustc --explain E0063`. 2020-02-09T14:00:39.0272693Z For more information about an error, try `rustc --explain E0063`. 2020-02-09T14:00:39.0542085Z error: could not compile `rustc`. 2020-02-09T14:00:39.0542769Z 2020-02-09T14:00:39.0543251Z To learn more, run the command again with --verbose. 2020-02-09T14:00:39.0580213Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "check" "-Zconfig-profile" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--color" "always" "--features" " llvm" "--manifest-path" "/checkout/src/rustc/Cargo.toml" "--message-format" "json-render-diagnostics" 2020-02-09T14:00:39.0594008Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap check 2020-02-09T14:00:39.0594365Z Build completed unsuccessfully in 0:04:47 2020-02-09T14:00:39.0643018Z == clock drift check == 2020-02-09T14:00:39.0655168Z local time: Sun Feb 9 14:00:39 UTC 2020 2020-02-09T14:00:39.0655168Z local time: Sun Feb 9 14:00:39 UTC 2020 2020-02-09T14:00:39.3434251Z network time: Sun, 09 Feb 2020 14:00:39 GMT 2020-02-09T14:00:39.3437614Z == end clock drift check == 2020-02-09T14:00:39.9829388Z 2020-02-09T14:00:39.9923880Z ##[error]Bash exited with code '1'. 2020-02-09T14:00:39.9938017Z ##[section]Finishing: Run build 2020-02-09T14:00:39.9985490Z ##[section]Starting: Checkout rust-lang/rust@refs/pull/68996/merge to s 2020-02-09T14:00:39.9987227Z Task : Get sources 2020-02-09T14:00:39.9987265Z Description : Get sources from a repository. Supports Git, TfsVC, and SVN repositories. 2020-02-09T14:00:39.9987319Z Version : 1.0.0 2020-02-09T14:00:39.9987352Z Author : Microsoft 2020-02-09T14:00:39.9987352Z Author : Microsoft 2020-02-09T14:00:39.9987390Z Help : [More Information](https://go.microsoft.com/fwlink/?LinkId=798199) 2020-02-09T14:00:39.9987444Z ============================================================================== 2020-02-09T14:00:40.3817700Z Cleaning any cached credential from repository: rust-lang/rust (GitHub) 2020-02-09T14:00:40.3859940Z ##[section]Finishing: Checkout rust-lang/rust@refs/pull/68996/merge to s 2020-02-09T14:00:40.3965408Z Cleaning up task key 2020-02-09T14:00:40.3966200Z Start cleaning up orphan processes. 2020-02-09T14:00:40.4067665Z Terminate orphan process: pid (3570) (python) 2020-02-09T14:00:40.4714576Z ##[section]Finishing: Finalize Job 

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)

@jonas-schievink
Copy link
Contributor

Looks like #68694 is failing CI

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.

8 participants