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

Remove &self from PrintState::to_string #92336

Merged
merged 1 commit into from
Jan 8, 2022

Conversation

dtolnay
Copy link
Member

@dtolnay dtolnay commented Dec 28, 2021

The point of PrintState::to_string is to create a State and evaluate the caller's closure on it:

fn to_string(f: impl FnOnce(&mut State<'_>)) -> String {
let mut printer = State::new();
f(&mut printer);
printer.s.eof()
}

Making the caller also construct and pass in a State, which is then ignored, was confusing.

@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Dec 28, 2021
@rust-highfive
Copy link
Collaborator

r? @michaelwoerister

(rust-highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Dec 28, 2021
@michaelwoerister
Copy link
Member

Looks like a straightforward improvement to me. Thanks, @dtolnay!

@bors r+ rollup

@bors
Copy link
Contributor

bors commented Jan 7, 2022

📌 Commit e9fbe79 has been approved by michaelwoerister

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 7, 2022
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jan 8, 2022
…erister

Remove &self from PrintState::to_string

The point of `PrintState::to_string` is to create a `State` and evaluate the caller's closure on it:

https://github.com/rust-lang/rust/blob/e9fbe79292783972a222afd270db3f77c0b4f3c8/compiler/rustc_ast_pretty/src/pprust/state.rs#L868-L872

Making the caller *also* construct and pass in a `State`, which is then ignored, was confusing.
@ehuss ehuss mentioned this pull request Jan 8, 2022
bors added a commit to rust-lang-ci/rust that referenced this pull request Jan 8, 2022
Rollup of 8 pull requests

Successful merges:

 - rust-lang#84640 (Implement `TryFrom<char>` for `u8`)
 - rust-lang#92336 (Remove &self from PrintState::to_string)
 - rust-lang#92375 (Consolidate checking for msvc when generating debuginfo)
 - rust-lang#92568 (Add note about non_exhaustive to variant_count)
 - rust-lang#92600 (Add some missing `#[must_use]` to some `f{32,64}` operations)
 - rust-lang#92610 (Create CSS class instead of using inline style for search results)
 - rust-lang#92632 (Implement stabilization of `#[feature(available_parallelism)]`)
 - rust-lang#92650 (Fix typo in `StableCrateId` docs)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 81c515b into rust-lang:master Jan 8, 2022
@rustbot rustbot added this to the 1.59.0 milestone Jan 8, 2022
@dtolnay dtolnay deleted the printstateself branch January 31, 2022 07:58
@dtolnay dtolnay added the A-pretty Area: Pretty printing (incl. `-Z unpretty`). label Dec 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-pretty Area: Pretty printing (incl. `-Z unpretty`). S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants