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

NLL: need 3rd round of review comparing .stderr and .nll.stderr output #54528

Closed
pnkfelix opened this issue Sep 24, 2018 · 20 comments
Closed

NLL: need 3rd round of review comparing .stderr and .nll.stderr output #54528

pnkfelix opened this issue Sep 24, 2018 · 20 comments
Assignees
Labels
A-NLL Area: Non-lexical lifetimes (NLL) NLL-complete Working towards the "valid code works" goal NLL-diagnostics Working towards the "diagnostic parity" goal P-medium Medium priority

Comments

@pnkfelix
Copy link
Member

pnkfelix commented Sep 24, 2018

NLL keeps getting better and better. But so does our test suite (or at least the percentage of our test suite that is exercising --compare-mode=nll)!

So once again, we need to do another round of review of the differences between AST borrowck diagnostic output and NLL borrowck diagnostic output.

Review started with the .nll.stderr files in the repository as of commit f99911a Tue Oct 23 17:44:19 2018 +0000

though I am actually going to review the state of these files that results from merging in PR #55221

Each file is mapped to a "card" on the project: https://github.com/rust-lang/rust/projects/10

You can use the search function to find a card (though note that most of the cards use a path like ui/vec/vec-mut-iter-borrow.nll.stderr and the search bar look for text within a token. So you need to type the path starting from ui/... into the search bar. I may go through and add spaces in the paths to counteract this.)

@pnkfelix
Copy link
Member Author

triage of unassigned milestone issues at NLL meeting, assigning to self

@pnkfelix pnkfelix self-assigned this Sep 25, 2018
@pnkfelix
Copy link
Member Author

Note: This is assigned to me, but I don't actually intend to start working on it there are fewer diagnostic changes in flight. In particular, I at least plan to address #54556 first

@pnkfelix pnkfelix added NLL-sound Working towards the "invalid code does not compile" goal NLL-diagnostics Working towards the "diagnostic parity" goal NLL-complete Working towards the "valid code works" goal labels Oct 2, 2018
@pnkfelix
Copy link
Member Author

pnkfelix commented Oct 2, 2018

(This gets "all the labels" because it is actually a work item that can uncover arbitrary kinds of bugs as one goes through the exercise...)

@davidtwco
Copy link
Member

davidtwco commented Oct 4, 2018

Can we avoid using the same format for the results of this review as we did the last round of review? - the large table and comments was hard to keep up-to-date and not great for discoverability. I'd suggest a bunch of issues and a "NLL Diagnostic Review" project to view them all.

@pnkfelix
Copy link
Member Author

pnkfelix commented Oct 8, 2018

@davidtwco sure I'm happy to take suggestions. The method used in the previous round of reviews ( #52663) was meant to be an improvement on what was done before that (#49862), but I'm not wedded to any particular methodology, as long as I can operate with reasonable efficiency.

In particular, if I happen to follow the methodology from #52663 for expediency's sake (e.g. because I am not familiar with this "project" feature of github), I won't object to someone translating the results into some other format.

@davidtwco
Copy link
Member

@pnkfelix In order to use projects, I think we would just need issues. The main issue I found with having one large issue with comments is that it is hard to keep it up to date and know what still needs fixed - if we have issues then they get visited when looking over all the NLL issues and can be closed by PRs.

@nikomatsakis
Copy link
Contributor

nikomatsakis commented Oct 17, 2018

I'm bumping this to the release milestone -- it's not going to be an RC2 blocker, I don't think.

@pnkfelix
Copy link
Member Author

okay I'm going to start on this task now. Closing #52663 so that everything will be tracked here (or on the associated project).

@pnkfelix
Copy link
Member Author

pnkfelix commented Oct 24, 2018

The list of tests to look at in the description is "complete", but I then started making individual cards for each test file on the project, thinking that would be a lighter weight method for tracking the tests.

Then I stopped after only a short while, because there are 460 such tests: The problem is that the cards are, AFAICT, only manipulatable via the Web UI (i.e. the mouse, drag-and-drop. But a text box in the description is something that I can cut-and-paste into emacs and edit out of band, far more efficiently. Not sure yet what I'm going to do.

So I clearly haven't made up my mind yet as to whether to encode the to-do list via the checkboxes on this issue's description, or via cards on the project.


(And still yet another thought I've had is that the list of differences might drop significantly if I spent a day looking at the issues around #53004, which would probably be a good thing to do before the beta is cut, if possible...)

@pnkfelix
Copy link
Member Author

Oh I should also at least be doing some double-checking atop PR #55221

@pnkfelix
Copy link
Member Author

okay I finished doing the initial survey; see https://github.com/rust-lang/rust/projects/10. (The work-list was in the first columns. All of the .nll.stderr files have been put into categories, which are organized into columns. The diagnostic columns (which in the current presentation are the first three columns) are all cases where none of them are important enough to worry about making a backport to resolve them; in other words they're all relatively low priority IMO.)

But there are other columns.

@pnkfelix
Copy link
Member Author

in particular there is an "investigate further" column with 28 entries. So I'll plan to go back over those next.

@pnkfelix
Copy link
Member Author

pnkfelix commented Nov 8, 2018

T-compiler triage: there are still 27 entries in the "investigate further" column. I'll try to get to them; if I dont resolve them by Monday, I'll unassign myself.

@pnkfelix
Copy link
Member Author

pnkfelix commented Nov 8, 2018

I made a lot of progress on this tonight; there are only three cards left in the "Investigate Further" column.

@pnkfelix
Copy link
Member Author

pnkfelix commented Nov 8, 2018

There are still potential work items on the cards that remain. E.g. I have noted on a number of them that e.g. a given test should be revised to use // revisions rather than compare-mode=nll. But those work items do not block the Release milestone.

@pnkfelix
Copy link
Member Author

pnkfelix commented Nov 9, 2018

Okay I finished the review.

As noted above, there are still work items on the cards on the project (https://github.com/rust-lang/rust/projects/10).

But the main thing I wanted to address for the Release milestone, namely the actual review task, is now dealt with.

@pnkfelix pnkfelix removed this from the Rust 2018 Release milestone Nov 9, 2018
@pnkfelix
Copy link
Member Author

pnkfelix commented Nov 9, 2018

marking as NLL-deferred to reflect the lower priority nature of going through the set of work items on the project cards.

pietroalbini added a commit to pietroalbini/rust that referenced this issue Nov 10, 2018
…arker-from-lint-unused-mut-variables, r=davidtwco

Removed unneeded instance of `// revisions` from a lint test

Removed an unneeded instance of `// revisions`; the compare-mode=nll shows the output is identical now.

cc rust-lang#54528
@pnkfelix
Copy link
Member Author

pnkfelix commented Dec 5, 2018

the remaining work items do not have NLL-sound issues, so I'm removing that label from this issue.

@pnkfelix pnkfelix removed the NLL-sound Working towards the "invalid code does not compile" goal label Dec 5, 2018
@pnkfelix
Copy link
Member Author

Re-triaging for #56754. P-medium.

@pnkfelix pnkfelix added P-medium Medium priority and removed NLL-deferred labels Dec 21, 2018
@rust-lang rust-lang deleted a comment Sep 12, 2019
@rust-lang rust-lang deleted a comment Sep 12, 2019
@pnkfelix
Copy link
Member Author

pnkfelix commented Nov 5, 2019

I'd say that since we have now actually removed the AST-borrowck, this is effectively a non-issue anymore.

@pnkfelix pnkfelix closed this as completed Nov 5, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-NLL Area: Non-lexical lifetimes (NLL) NLL-complete Working towards the "valid code works" goal NLL-diagnostics Working towards the "diagnostic parity" goal P-medium Medium priority
Projects
None yet
Development

No branches or pull requests

4 participants