Skip to content

Rollup of 5 pull requests - #66686

Merged
bors merged 17 commits into
rust-lang:masterfrom
Centril:rollup-07slyoo
Nov 24, 2019
Merged

Rollup of 5 pull requests#66686
bors merged 17 commits into
rust-lang:masterfrom
Centril:rollup-07slyoo

Conversation

@Centril

Copy link
Copy Markdown
Contributor

Successful merges:

Failed merges:

r? @ghost

jonhooand others added 17 commits September 27, 2019 17:36
This places the temporaries that `format!` generates to refer to its
arguments (through `&dyn Trait`) in a short-lived scope surrounding just
the invocation of `format!`. This enables `format!` to be used in
generators without the temporaries preventing the generator from being
`Send` (due to `dyn Trait` not being `Sync`).
See rust-lang#64477 for details.
Fixesrust-lang#61577
When printing an opaque type in non-verbose mode, we use the
`tcx.predicates_of` query to retrieve the opaque type's bounds for
pretty-printing. However, the pervasiveness of logging within librustc
means that we may already be executing `tcx.predicates_of` for the
opaque type we're trying to print, leading to a cycle error.
This commit adds a new 'no queries' thread-local flag to the pretty
printer. This flag is enabled during the computation of `predicates_of`
for opaque types, and causes us to print the opaque type in 'verbose'
mode (which does not require computing any additinal queries). This
should only affect debug logging for highly nested log messages, not any
user-visible output.
Scope format! temporaries
This places the temporaries that `format!` generates to refer to its arguments (through `&dyn Trait`) in a short-lived scope surrounding just the invocation of `format!`. This enables `format!` to be used in generators without the temporaries preventing the generator from being `Send` (due to `dyn Trait` not being `Sync`).
See rust-lang#64477 for details.
…matthewjasper
Fix cycle when debug-printing opaque types
Fixesrust-lang#61577
When printing an opaque type in non-verbose mode, we use the
`tcx.predicates_of` query to retrieve the opaque type's bounds for
pretty-printing. However, the pervasiveness of logging within librustc
means that we may already be executing `tcx.predicates_of` for the
opaque type we're trying to print, leading to a cycle error.
This commit adds a new 'no queries' thread-local flag to the pretty
printer. This flag is enabled during the computation of `predicates_of`
for opaque types, and causes us to print the opaque type in 'verbose'
mode (which does not require computing any additinal queries). This
should only affect debug logging for highly nested log messages, not any
user-visible output.
parser: recover on nested ADTs as enum variants
Closes: rust-lang#66127
@Centril

Copy link
Copy Markdown
ContributorAuthor

@bors r+ p=100 rollup=never

@bors

bors commented Nov 24, 2019

Copy link
Copy Markdown
Collaborator

📌 Commit d22bf91 has been approved by Centril

@bors

bors commented Nov 24, 2019

Copy link
Copy Markdown
Collaborator

🌲 The tree is currently closed for pull requests below priority 10, this pull request will be tested once the tree is reopened

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

bors commented Nov 24, 2019

Copy link
Copy Markdown
Collaborator

⌛ Testing commit d22bf91 with merge e41ced3...

bors added a commit that referenced this pull request Nov 24, 2019
Rollup of 5 pull requests
Successful merges:
- #64856 (Scope format! temporaries)
- #66411 (mem::forget docs: mention ManuallyDrop)
- #66594 (Fix cycle when debug-printing opaque types)
- #66641 (parser: recover on nested ADTs as enum variants)
- #66659 (make `./x.py bench` again)
Failed merges:
r? @ghost
@Centril

Copy link
Copy Markdown
ContributorAuthor

@bors treeclosed-

@bors

bors commented Nov 24, 2019

Copy link
Copy Markdown
Collaborator

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

@borsbors added the merged-by-bors This PR was explicitly merged by bors. label Nov 24, 2019
@bors
bors merged commit d22bf91 into rust-lang:masterNov 24, 2019
@rust-highfive

Copy link
Copy Markdown
Contributor

📣 Toolstate changed by #66686!

Tested on commit e41ced3.
Direct link to PR: #66686

💔 clippy-driver on windows: test-pass → test-fail (cc @mcarton@oli-obk@Manishearth@flip1995@yaahc@phansch@llogiq, @rust-lang/infra).
💔 clippy-driver on linux: test-pass → test-fail (cc @mcarton@oli-obk@Manishearth@flip1995@yaahc@phansch@llogiq, @rust-lang/infra).

rust-highfive added a commit to rust-lang-nursery/rust-toolstate that referenced this pull request Nov 24, 2019
Tested on commit rust-lang/rust@e41ced3.
Direct link to PR: <rust-lang/rust#66686>
💔 clippy-driver on windows: test-pass → test-fail (cc @mcarton@oli-obk@Manishearth@flip1995@yaahc@phansch@llogiq, @rust-lang/infra).
💔 clippy-driver on linux: test-pass → test-fail (cc @mcarton@oli-obk@Manishearth@flip1995@yaahc@phansch@llogiq, @rust-lang/infra).
@borsbors mentioned this pull request Nov 24, 2019
@Centril
Centril deleted the rollup-07slyoo branch November 24, 2019 16:40
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.

7 participants

@Centril@bors@rust-highfive@jonhoo@RalfJung@Aaron1011@VirrageS