-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Refactor librustc_errors::Handler API #64272
Conversation
cc @aturon as part of parallel rustc efforts |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
52b3d1f
to
0b94900
Compare
This comment has been minimized.
This comment has been minimized.
0b94900
to
33aaa1f
Compare
This comment has been minimized.
This comment has been minimized.
33aaa1f
to
66cc1e3
Compare
CI is green here and this is good to go for review |
☔ The latest upstream changes (presumably #64456) made this pull request unmergeable. Please resolve the merge conflicts. |
66cc1e3
to
8f210f3
Compare
Rebased. |
☔ The latest upstream changes (presumably #60584) made this pull request unmergeable. Please resolve the merge conflicts. |
8f210f3
to
434e67b
Compare
Rebased, again. |
5802065
to
71f9add
Compare
This comment has been minimized.
This comment has been minimized.
This avoids concurrency-related bugs when locks are acquired for too short a time and similar cases.
71f9add
to
4cc5aaa
Compare
Sorry for the radio silence, I'll review this tomorrow. |
Thanks for the clean commit history. It all makes sense, but making it stand alone merge to minimize the chance for conflicts. @bors r+ rollup=never |
📌 Commit 4cc5aaa has been approved by |
Refactor librustc_errors::Handler API This should be reviewed by-commit. The last commit moves all fields into an inner struct behind a single lock; this is done to prevent possible deadlocks in a multi-threaded compiler, as well as inconsistent state observation.
☀️ Test successful - checks-azure |
rust-lang#64272 replaced `DiagnosticBuilder` with `Diagnostic` in some places. This commit just renames the DB variable from `db` to `diag` where it wasn't renamed.
Refactor: Rename `db` locals to `diag` rust-lang#64272 replaced `DiagnosticBuilder` with `Diagnostic` in some places. This PR just renames the db variable from `db` to `diag` where it wasn't renamed. r? @Mark-Simulacrum
Refactor: Rename `db` locals to `diag` rust-lang#64272 replaced `DiagnosticBuilder` with `Diagnostic` in some places. This PR just renames the db variable from `db` to `diag` where it wasn't renamed. r? @Mark-Simulacrum
This should be reviewed by-commit.
The last commit moves all fields into an inner struct behind a single lock; this is done to prevent possible deadlocks in a multi-threaded compiler, as well as inconsistent state observation.