-
Notifications
You must be signed in to change notification settings - Fork 14k
Refactor librustc_errors::Handler API #64272
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
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.