-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Rollup of 5 pull requests #62659
Rollup of 5 pull requests #62659
Commits on Jul 10, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 498bdc9 - Browse repository at this point
Copy the full SHA 498bdc9View commit details
Commits on Jul 11, 2019
-
Configuration menu - View commit details
-
Copy full SHA for e1c7747 - Browse repository at this point
Copy the full SHA e1c7747View commit details
Commits on Jul 12, 2019
-
Replace
struct_tail
andstruct_lockstep_tails
with variants handl……ing normalization. The old struct tail functions did not deal with `<T as Trait>::A` and `impl Trait`, at least not explicitly. (We didn't notice this bug before because it is only exposed when the tail (post deep normalization) is not `Sized`, so it was a rare case to deal with.) For post type-checking (i.e. during codegen), there is now `struct_tail_erasing_lifetimes` and `struct_lockstep_tails_erasing_lifetimes`, which each take an additional `ParamEnv` argument to drive normalization. For pre type-checking cases where normalization is not needed, there is `struct_tail_without_normalization`. (Currently, the only instance of this is `Expectation::rvalue_hint`.) All of these new entrypoints work by calling out to common helper routines. The helpers are parameterized over a closure that handles the normalization.
Configuration menu - View commit details
-
Copy full SHA for 8f171c4 - Browse repository at this point
Copy the full SHA 8f171c4View commit details -
Configuration menu - View commit details
-
Copy full SHA for e4b8af5 - Browse repository at this point
Copy the full SHA e4b8af5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3c8279a - Browse repository at this point
Copy the full SHA 3c8279aView commit details -
rustbuild: Improve assert about building tools once
In developing rust-lang#61557 I noticed that there were two parts of our tools that were rebuilt twice on CI. One was rustfmt fixed in rust-lang#61557, but another was Cargo. The actual fix for Cargo's double compile was rust-lang/cargo#7010 and took some time to propagate here. In an effort to continue to assert that Cargo is itself not compiled twice, I updated the assertion in rustbuild at the time of working on rust-lang#61557 but couldn't land it because the fix wouldn't be ready until the next bootstrap. The next bootstrap is now here, so the fix can now land! This does not change the behavior of rustbuild but it is intended to catch the previous iteration of compiling cargo twice. The main update here was to consider more files than those in `$target/release/deps` but also consider those in `$target/release`. That's where, for example, `libcargo.rlib` shows up and it's the file we learn about, and that's what we want to deduplicate.
Configuration menu - View commit details
-
Copy full SHA for 278e5fd - Browse repository at this point
Copy the full SHA 278e5fdView commit details
Commits on Jul 13, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 313ba7c - Browse repository at this point
Copy the full SHA 313ba7cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 199931c - Browse repository at this point
Copy the full SHA 199931cView commit details -
Rollup merge of rust-lang#62577 - Zoxc:atomic-cell, r=matthewjasper
Add an AtomicCell abstraction Split out from rust-lang#61923.
Configuration menu - View commit details
-
Copy full SHA for 5e1891c - Browse repository at this point
Copy the full SHA 5e1891cView commit details -
Rollup merge of rust-lang#62585 - pnkfelix:issue-60431-make-struct-ta…
…il-normalize-when-possible, r=eddyb Make struct_tail normalize when possible As noted in commit message: this replaces the existing methods to extract the struct tail(s) with new entry points that make the handling of normalization explicit. Most of the places that call `struct_tail` are during codegen, post type-checking, and therefore they can get away with using `tcx.normalize_erasing_regions` (this is the entry point `struct_tail_erasing_lifetimes`) For other cases that may arise, one can use the core method, which is parameterized over the normalization `Ty -> Ty` closure (`struct_tail_with_normalize`). Or one can use the trivial entry point that does not normalization (`struct_tail_without_normalization`) ---- I spent a little while trying to make a test that exposed the bug via `impl Trait` rather than a projection, but I failed to find something that tripped up the current nightly `rustc`. * I have *not* spent any time trying to make tests that trip up the other places where `struct_tail` was previously being called. While I do think the task of making such tests could be worthwhile, I am simply running out of time. (Its also possible that the layout code is always the first point called, and thus it may be pointless to try to come up with such tests.) I also spent a little time discussing with @eddyb where this code should live. They suggested moving `struct_tail` and its sibling `struct_lockstep_tails` to the `LayoutCx`. But in the interest of time, I have left that refactoring (which may be questionable at this point) to a follow-up task. ---- Fix rust-lang#60431
Configuration menu - View commit details
-
Copy full SHA for 833dada - Browse repository at this point
Copy the full SHA 833dadaView commit details -
Rollup merge of rust-lang#62604 - estebank:unemitted-err-ice, r=pnkfelix
Handle errors during error recovery gracefully Fix rust-lang#62546.
Configuration menu - View commit details
-
Copy full SHA for 4fe6e63 - Browse repository at this point
Copy the full SHA 4fe6e63View commit details -
Rollup merge of rust-lang#62636 - alexcrichton:assert-build-cargo-onc…
…e, r=Mark-Simulacrum rustbuild: Improve assert about building tools once In developing rust-lang#61557 I noticed that there were two parts of our tools that were rebuilt twice on CI. One was rustfmt fixed in rust-lang#61557, but another was Cargo. The actual fix for Cargo's double compile was rust-lang/cargo#7010 and took some time to propagate here. In an effort to continue to assert that Cargo is itself not compiled twice, I updated the assertion in rustbuild at the time of working on rust-lang#61557 but couldn't land it because the fix wouldn't be ready until the next bootstrap. The next bootstrap is now here, so the fix can now land! This does not change the behavior of rustbuild but it is intended to catch the previous iteration of compiling cargo twice. The main update here was to consider more files than those in `$target/release/deps` but also consider those in `$target/release`. That's where, for example, `libcargo.rlib` shows up and it's the file we learn about, and that's what we want to deduplicate.
Configuration menu - View commit details
-
Copy full SHA for bafddd4 - Browse repository at this point
Copy the full SHA bafddd4View commit details -
Rollup merge of rust-lang#62651 - matthewjasper:rustc-macro-hygiene, …
…r=petrochenkov Make some rustc macros more hygienic
Configuration menu - View commit details
-
Copy full SHA for 791ceb6 - Browse repository at this point
Copy the full SHA 791ceb6View commit details