Skip to content

Rollup of 8 pull requests - #70348

Closed
Centril wants to merge 31 commits into
rust-lang:masterfrom
Centril:rollup-l48gfqy
Closed

Rollup of 8 pull requests#70348
Centril wants to merge 31 commits into
rust-lang:masterfrom
Centril:rollup-l48gfqy

Conversation

@Centril

Copy link
Copy Markdown
Contributor

Successful merges:

Failed merges:

r? @ghost

ArekPiekarzand 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.
Make the `type_of` return a generic type for generators
Fixesrust-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.
…atthewjasper
Make `needs_drop` less pessimistic on generators
Generators only have non-trivial drop logic when they may store (in upvars or across yields) a type that does.
This prevents generation of some unnecessary MIR in simple generators. There might be some impact on compile times, but this is probably limited in real-world applications.
~~This builds off of rust-lang#69814 since that contains some fixes that are made relevant by *this* PR (see rust-lang#69814 (comment) (this has been merged)
…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.
Fixesrust-lang#68855
r? @eddyb
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.
@CentrilCentril added the rollup A PR which is a rollup label Mar 24, 2020
@Centril

Copy link
Copy Markdown
ContributorAuthor

@bors r+ p=8 rollup=never

@bors

bors commented Mar 24, 2020

Copy link
Copy Markdown
Collaborator

📌 Commit 6e587a4 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 Mar 24, 2020
@CentrilCentril mentioned this pull request Mar 24, 2020
@bors

bors commented Mar 24, 2020

Copy link
Copy Markdown
Collaborator

⌛ Testing commit 6e587a4 with merge 38095176693235857f023640d06974bb65f3d09a...

@bors

bors commented Mar 24, 2020

Copy link
Copy Markdown
Collaborator

💔 Test failed - checks-azure

@borsbors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Mar 24, 2020
@CentrilCentril closed this Mar 24, 2020
@Centril
Centril deleted the rollup-l48gfqy branch March 24, 2020 06:12
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rollupA PR which is a rollupS-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants

@Centril@bors@ArekPiekarz@nnethercote@eddyb@wesleywiser@lcnr@Aaron1011@Zoxc@jonas-schievink