Skip to content

Rollup of 7 pull requests - #65990

Merged
bors merged 20 commits into
rust-lang:masterfrom
Centril:rollup-v843h4a
Oct 31, 2019
Merged

Rollup of 7 pull requests#65990
bors merged 20 commits into
rust-lang:masterfrom
Centril:rollup-v843h4a

Conversation

@Centril

Copy link
Copy Markdown
Contributor

Successful merges:

Failed merges:

r? @ghost

mikeyhewand others added 20 commits October 26, 2019 16:44
To check if a method's receiver type is object safe, we create a new receiver type by substituting in a bogus type parameter (let's call it `U`) for `Self`, and checking that the unmodified receiver type implements `DispatchFromDyn<receiver type with Self = U>`. It would be better to use `dyn Trait` directly, and the only reason we don't is because it triggers another check that `Trait` is object safe, resulting in a query cycle. Once the feature `object_safe_for_dispatch` (tracking issue rust-lang#43561) is stabilized, this will no longer be the case, and we'll be able to use `dyn Trait` as the unsized `Self` type. I've updated the comments in object_safety.rs accordingly.
Uploading the toolstate data for each commit will help our release
tooling understand which components are failing, to possibly skip
shipping broken tools to users.
Co-Authored-By: lzutao <taolzu@gmail.com>
The hack was added because upstream msys2 broke the ca-certificates
package, but since then it has been fixed. This reverts CI to use the
upstream package.
Before this commit toolstates.json was stored in /tmp and it wasn't
mounted outside the build container. That caused uploading the file in
the upload-artifacts task to fail, as the file was missing on the host.
Mounting /tmp/toolstates.json alone is not the best approach: if the
file is missing when the container is started the Docker engine will
create a *directory* named /tmp/toolstates.json.
The Docker issue could be solved by pre-creating an empty file named
/tmp/toolstates.json, but doing that could cause problems if bootstrap
fails to generate the file and the toolstate scripts receive an empty
JSON.
The approach I took in this commit is to instead mount a /tmp/toolstate
directory inside Docker, and create the toolstates.json file in it. That
also required a small bootstrap change to ensure the directory is
created if it's missing.
This field is created lazily on first use and after that is read only.
That's exactly what Once is for.
…=alexcrichton
Upload toolstates.json to rust-lang-ci2
This PR does two things:
* Following up with rust-lang#65202, it migrates deploying artifacts to CI in a script. Both uploading release artifacts and CPU stats were merged into the same script, designing it to be easily extended.
* Uploads the toolstate JSON to `rust-lang-ci2` along with the release artifacts, both for Linux and Windows. This is needed because @RalfJung wants to stop shipping MIRI when its tests are failing, and the toolstate repo doesn't have entries for each commit. Having the toolstate data (just for that specific commit) on `rust-lang-ci2` will simplify the code a lot.
r? @alexcrichton
cc @RalfJung
…-E0577, r=Dylan-DPC
Add long error explanation for E0577
Part of rust-lang#61137.
r? @kinnison
Update comments re type parameter hack in object safety
To check if a method's receiver type is object safe, we create a new receiver type by substituting in a bogus type parameter (let's call it `U`) for `Self`, and checking that the unmodified receiver type implements `DispatchFromDyn<receiver type with Self = U>`. It would be better to use `dyn Trait` directly, and the only reason we don't is because it triggers another check that `Trait` is object safe, resulting in a query cycle. Once the feature `object_safe_for_dispatch` (tracking issue rust-lang#43561) is stabilized, this will no longer be the case, and we'll be able to use `dyn Trait` as the unsized `Self` type. I've updated the comments in object_safety.rs accordingly.
cc @Centril@nikomatsakis@bovinebuddha
…ck, r=Mark-Simulacrum
ci: revert msys2 ca-certificates hack
The hack was added because upstream msys2 broke the ca-certificates package, but since then it has been fixed. This reverts CI to use the upstream package.
Part of rust-lang#65767
…twco
Fix an incorrect docstring for Immediate in librustc_mir/interpret.
I suspect `Immediate` was once called `Value`?
…r=Mark-Simulacrum
Switch CrateMetadata's source_map_import_info from RwLock to Once
work around aggressive syntax feature gating
This works around rust-lang#65860; fixing `rustc +nightly lib.rs --test --edition 2018` for libcore and thus unblocking https://github.com/RalfJung/miri-test-libstd.
@Centril

Copy link
Copy Markdown
ContributorAuthor

@bors r+ p=7 rollup=never

@bors

bors commented Oct 31, 2019

Copy link
Copy Markdown
Collaborator

📌 Commit 83000c2 has been approved by Centril

@borsbors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Oct 31, 2019
@CentrilCentril added the rollup A PR which is a rollup label Oct 31, 2019
@bors

bors commented Oct 31, 2019

Copy link
Copy Markdown
Collaborator

⌛ Testing commit 83000c2 with merge 2f16be4...

bors added a commit that referenced this pull request Oct 31, 2019
Rollup of 7 pull requests
Successful merges:
- #65274 (Upload toolstates.json to rust-lang-ci2)
- #65434 (Add long error explanation for E0577)
- #65850 (Update comments re type parameter hack in object safety)
- #65955 (ci: revert msys2 ca-certificates hack)
- #65959 (Fix an incorrect docstring for Immediate in librustc_mir/interpret.)
- #65979 (Switch CrateMetadata's source_map_import_info from RwLock to Once)
- #65981 (work around aggressive syntax feature gating)
Failed merges:
r? @ghost
@bors

bors commented Oct 31, 2019

Copy link
Copy Markdown
Collaborator

☀️ Test successful - checks-azure
Approved by: Centril
Pushing 2f16be4 to master...

@borsbors added the merged-by-bors This PR was explicitly merged by bors. label Oct 31, 2019
@bors
bors merged commit 83000c2 into rust-lang:masterOct 31, 2019
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merged-by-borsThis PR was explicitly merged by bors.rollupA PR which is a rollupS-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

@Centril@bors@mikeyhew@emilyalbini@vext01@GuillaumeGomez@spastorino@RalfJung