Merged
Conversation
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.
Fixes rust-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.
mem::forget docs: mention ManuallyDrop Cc @SimonSapin @Centril
…matthewjasper Fix cycle when debug-printing opaque types Fixes rust-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
make `./x.py bench` again Fixes rust-lang#54016
Contributor
Author
|
@bors r+ p=100 rollup=never |
Collaborator
|
📌 Commit d22bf91 has been approved by |
Collaborator
|
🌲 The tree is currently closed for pull requests below priority 10, this pull request will be tested once the tree is reopened |
Collaborator
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
Contributor
Author
|
@bors treeclosed- |
Collaborator
|
☀️ Test successful - checks-azure |
This was referenced Nov 24, 2019
Contributor
|
📣 Toolstate changed by #66686! Tested on commit e41ced3. 💔 clippy-driver on windows: 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).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Successful merges:
./x.py benchagain #66659 (make./x.py benchagain)Failed merges:
r? @ghost