Uh oh!
There was an error while loading. Please reload this page.
Remove LintBuffer from Session - #65835
Conversation
Mark-Simulacrum
commented
Oct 25, 2019
I plan to prepare some similar documentation to what I'm working on now in rust-lang/rustc-dev-guide#476 once this lands -- we don't have a lot that talks about lint buffering today, but I've gained a decent understanding of why we need it in working on this so can write that up. |
nikomatsakis
left a comment
There was a problem hiding this comment.
Looks good to me! I left one small suggestion to add a helper method. r=me with that suggestion.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
1ab8dc8 to
a44126aCompareMark-Simulacrum
commented
Oct 26, 2019
@bors r=nikomatsakis |
bors
commented
Oct 26, 2019
📌 Commit a44126a has been approved by |
…, r=nikomatsakis Remove LintBuffer from Session This moves the `LintBuffer` from `Session` into the `Resolver`, where it is used until lowering is done and then consumed by early lint passes. This also happily removes the failure mode of buffering lints too late where it would have previously lead to ICEs; it is statically no longer possible to do so. I suspect that with a bit more work a similar move could be done for the lint buffer inside `ParseSess`, but this PR doesn't touch it (in part to keep itself small). The last commit is the "interesting" commit -- the ones before it don't work (though they compile) as they sort of prepare the various crates for the lint buffer to be passed in rather than accessed through Session.
Centril
commented
Oct 27, 2019
Possibly caused failure in #65854 (comment), @bors rollup=never |
bors
commented
Oct 27, 2019
☔ The latest upstream changes (presumably #65869) made this pull request unmergeable. Please resolve the merge conflicts. |
a44126a to
bdcaedfCompareMark-Simulacrum
commented
Oct 28, 2019
@bors r=nikomatsakis rollup=never I can't reproduce the rollup failure locally so I suspect/hope it is #65830 that is responsible (that seems more likely than this PR, personally, given the small number of errors, and being limited to dead code, though that PR doesn't look immediately at fault either. |
bors
commented
Oct 28, 2019
📌 Commit bdcaedf1572a99a67919f686dd78c307918d9c48 has been approved by |
bors
commented
Nov 4, 2019
⌛ Testing commit bdcaedf1572a99a67919f686dd78c307918d9c48 with merge d9d421ee53ed6e62dc900005b3db019ccbb4606d... |
rust-highfive
commented
Nov 4, 2019
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
bors
commented
Nov 4, 2019
💔 Test failed - checks-azure |
This allows us to directly pass in a lint buffer
bdcaedf to
c68df7cCompareMark-Simulacrum
commented
Nov 4, 2019
@bors r=nikomatsakis |
bors
commented
Nov 4, 2019
📌 Commit c68df7c has been approved by |
bors
commented
Nov 4, 2019
…sakis Remove LintBuffer from Session This moves the `LintBuffer` from `Session` into the `Resolver`, where it is used until lowering is done and then consumed by early lint passes. This also happily removes the failure mode of buffering lints too late where it would have previously lead to ICEs; it is statically no longer possible to do so. I suspect that with a bit more work a similar move could be done for the lint buffer inside `ParseSess`, but this PR doesn't touch it (in part to keep itself small). The last commit is the "interesting" commit -- the ones before it don't work (though they compile) as they sort of prepare the various crates for the lint buffer to be passed in rather than accessed through Session.
bors
commented
Nov 4, 2019
☀️ Test successful - checks-azure |
This moves the
LintBufferfromSessioninto theResolver, where it is used until lowering is done and then consumed by early lint passes. This also happily removes the failure mode of buffering lints too late where it would have previously lead to ICEs; it is statically no longer possible to do so.I suspect that with a bit more work a similar move could be done for the lint buffer inside
ParseSess, but this PR doesn't touch it (in part to keep itself small).The last commit is the "interesting" commit -- the ones before it don't work (though they compile) as they sort of prepare the various crates for the lint buffer to be passed in rather than accessed through Session.