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

Rollup of 8 pull requests #70351

Merged
merged 46 commits into from
Mar 24, 2020
Merged

Rollup of 8 pull requests #70351

merged 46 commits into from
Mar 24, 2020

Conversation

Centril
Copy link
Contributor

@Centril Centril commented Mar 24, 2020

Successful merges:

Failed merges:

r? @ghost

ArekPiekarz and others added 30 commits March 6, 2020 22:22
I find the code easier to read if the values in `config` are all used
directly, rather than a mix of `config` values and local variables. It
will also faciliate some of the following commits.

Also, use `config.bitcode_needed()` in one place.
Because the `(true, true)` combination isn't valid.
This adds a missing `!config.obj_is_bitcode` condition to two places
that should have it.

As a result, when `obj_is_bitcode` and `no_integrated_as` are both true,
the compiler will no longer unnecessarily emit asm, convert it to an
object file, and then overwrite that object file with bitcode.
Previously, we threw away the `Span` associated with a definition's
identifier when we encoded crate metadata, causing us to lose location
and hygiene information.

We now store the identifier's `Span` in the crate metadata.
When we decode items from the metadata, we combine
the name and span back into an `Ident`.

This improves the output of several tests, which previously had messages
suppressed due to dummy spans.

This is a prerequisite for rust-lang#68686, since throwing away a `Span` means
that we lose hygiene information.
Also remove ExtCtxt::struct_span_fatal.
Make the `type_of` return a generic type for generators

Fixes rust-lang#67651.

r? @nikomatsakis
…ltin_traits, r=Dylan-DPC

Fix sequence of Type and Trait in optin-builtin-traits in Unstable Book

A simple fix in docs - the sequence of words in basic example of negative trait implementation was reversed.
Expand: nix all fatal errors

Basically, we go after all `.span_fatal` / `FatalError.raise()` and similar things and remove them one by one until there are no fatal errors left.

r? @petrochenkov
…t, r=petrochenkov

Store idents for `DefPathData` into crate metadata

Previously, we threw away the `Span` associated with a definition's
identifier when we encoded crate metadata, causing us to lose location
and hygiene information.

We now store the identifier's `Span` in a side table, which gets encoded
into the crate metadata. When we decode items from the metadata, we
combine the name and span back into an `Ident`.

This improves the output of several tests, which previously had messages
suppressed due to dummy spans.

This is a prerequisite for rust-lang#68686, since throwing away a `Span` means
that we lose hygiene information.
…omatsakis

traits/fulfill: allow `stalled_on` to track `ty::Const::Infer(_)` (unused yet).

This PR addresses the representation side of rust-lang#70180, but only *actually collects* `ty::Infer`s via `Ty::walk` into `stalled_on` (collecting `ty::ConstKind::Infer`s requires rust-lang#70164).

However, it should be enough to handle rust-lang#70107's needs (WF obligations are stalled only on the outermost type/const being an inference variable, no `walk`-ing is involved).

This is my second attempt, see rust-lang#70181 for the previous one, which unacceptably regressed perf.

r? @nikomatsakis cc @nnethercote
Use Reveal::All in MIR optimizations

Resolves some code review feedback in rust-lang#67662.

Fixes rust-lang#68855

r? @eddyb
…r=eddyb

correctly handle const params in type_of

extends rust-lang#70223, retry of rust-lang#70276

fixes rust-lang#70273

r? @eddyb cc @varkor
Refactor `codegen`

`codegen` in `src/librustc_codegen_llvm/back/write.rs` is long and has complex control flow. These commits refactor it and make it easier to understand.
@Centril
Copy link
Contributor Author

Centril commented Mar 24, 2020

@bors r+ p=8 rollup=never

@bors
Copy link
Contributor

bors commented Mar 24, 2020

📌 Commit 170112c has been approved by Centril

@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 Mar 24, 2020
@Centril Centril added the rollup A PR which is a rollup label Mar 24, 2020
@bors
Copy link
Contributor

bors commented Mar 24, 2020

⌛ Testing commit 170112c with merge 9d0ae58...

@bors
Copy link
Contributor

bors commented Mar 24, 2020

☀️ Test successful - checks-azure
Approved by: Centril
Pushing 9d0ae58 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Mar 24, 2020
@bors bors merged commit 9d0ae58 into rust-lang:master Mar 24, 2020
@Centril Centril deleted the rollup-tveoq3w branch March 24, 2020 17:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. 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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants