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

Add some tests for resolved bugs #18099

Merged
merged 2 commits into from Oct 18, 2014
Merged

Add some tests for resolved bugs #18099

merged 2 commits into from Oct 18, 2014

Conversation

ghost
Copy link

@ghost ghost commented Oct 16, 2014

Closes #9249.
Closes #13105.
Closes #13837.
Closes #13847.
Closes #15207.
Closes #15261.
Closes #16048.
Closes #16098.
Closes #16256.
Closes #16562.
Closes #16596.
Closes #16709.
Closes #16747.
Closes #17025.
Closes #17121.
Closes #17450.
Closes #17636.

Also, remove one that has an exact duplicate.
@alexcrichton
Copy link
Member

My hero! Thanks so much @jakub-!

@ghost
Copy link
Author

ghost commented Oct 16, 2014

@alexcrichton I could swear line length limit was ignored for tests. r? again?

@ghost
Copy link
Author

ghost commented Oct 16, 2014

I'm relieved you can't see through my little conspiracy to make build times
longer. :-)
On 16 Oct 2014 22:35, "Alex Crichton" [email protected] wrote:

My hero! Thanks so much @jakub- https://github.com/jakub-!


Reply to this email directly or view it on GitHub
#18099 (comment).

@brson
Copy link
Contributor

brson commented Oct 17, 2014

Awesome PR. 👌

bors added a commit that referenced this pull request Oct 18, 2014
Closes #9249.
Closes #13105.
Closes #13837.
Closes #13847.
Closes #15207.
Closes #15261.
Closes #16048. 
Closes #16098.
Closes #16256.
Closes #16562.
Closes #16596.
Closes #16709.
Closes #16747.
Closes #17025.
Closes #17121.
Closes #17450.
Closes #17636.
@bors bors closed this Oct 18, 2014
@bors bors merged commit 64716d5 into rust-lang:master Oct 18, 2014
@ghost ghost deleted the fixed-issues branch October 19, 2014 09:48
lnicola pushed a commit to lnicola/rust that referenced this pull request Sep 25, 2024
…r=Veykril

Use more correct handling of lint attributes

The previous analysis was top-down, and worked on a single file (expanding macros). The new analysis is bottom-up, starting from the diagnostics and climbing up the syntax and module tree.

While this is more efficient (and in fact, efficiency was the motivating reason to work on this), unfortunately the code was already fast enough. But luckily, it also fixes a correctness problem: outline parent modules' attributes were not respected for the previous analysis. Case lints specifically did their own analysis to accommodate that, but it was limited to only them. The new analysis works on all kinds of lints, present and future.

It was basically impossible to fix the old analysis without rewriting it because navigating the module hierarchy must come bottom-up, and if we already have a bottom-up analysis (including syntax analysis because modules can be nested in other syntax elements, including macros), it makes sense to use only this kind of analysis.

Few other bugs (not fundamental to the previous analysis) are also fixed, e.g. overwriting of lint levels (i.e. `#[allow(lint)] mod foo { #[warn(lint)] mod bar; }`.

After this PR is merged I intend to work on an editor command that does workspace-wide diagnostics analysis (that is, `rust-analyzer diagnostics` but from your editor and without having to spawn a new process, which will have to analyze the workspace from scratch). This can be useful to users who do not want to enable check on save because of its overhead, but want to see workspace wide diagnostics from r-a (or to maintainers of rust-analyzer).

Closes rust-lang#18086.
Closes rust-lang#18081.
Fixes rust-lang#18056.
lnicola pushed a commit to lnicola/rust that referenced this pull request Sep 25, 2024
…kril

fix: Handle lint attributes that are under `#[cfg_attr]`

I forgot `cfg_attr` while working on rust-lang#18099. Although the original code also didn't handle that (although case lints specifically were correct, by virtue of using hir attrs).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment