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

librustc: Improve error message for missing feature attributes. #13471

Merged
merged 1 commit into from
Apr 13, 2014

Conversation

Ryman
Copy link
Contributor

@Ryman Ryman commented Apr 12, 2014

The current error message is misleading, it asks users to add #[feature(..)] which ends up being treated as an outer attribute, which then has no error unless attribute_usage lint is enforced. The code will still fail and the user might not understand why.

bors added a commit that referenced this pull request Apr 13, 2014
The current error message is misleading, it asks users to add `#[feature(..)]` which ends up being treated as an outer attribute, which then has no error unless `attribute_usage` lint is enforced. The code will still fail and the user might not understand why.
@bors bors closed this Apr 13, 2014
@bors bors merged commit c48a3ef into rust-lang:master Apr 13, 2014
compiler-errors pushed a commit to compiler-errors/rust that referenced this pull request Oct 26, 2022
Handle multiple projects sharing dependency correctly in `once` strategy
flip1995 pushed a commit to flip1995/rust that referenced this pull request Oct 3, 2024
Remove method call receiver special casing in `unused_async` lint

Fixes the false positive mentioned in rust-lang/rust-clippy#13466 (comment).

The false negative in the OP would be nice to fix too, but I'd rather do that in a separate PR because it's much more involved

Before this change, the `unused_async` lint would check if the async fn is also used anywhere and avoid linting if so. The exception is if the async function is immediately called, because the returned future handling can be easily removed (and also if we don't have some exceptions then the lint wouldn't trigger anywhere) *or* if it's a method call receiver.

I'm not exactly sure why I implemented that special casing for method call receivers in rust-lang#11200, but it doesn't make much sense in hindsight imo. Especially given that method calls are essentially equivalent to function calls with the receiver as the first argument, which was the primary motivation for not linting in the first place (async fn passed to another function, like `axum::get(handler)` where handler has to be an async fn).

changelog: none
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants