Skip to content

Unknown feature names are not reported if there are other errors #58390

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

Open
jminer opened this issue Feb 12, 2019 · 2 comments
Open

Unknown feature names are not reported if there are other errors #58390

jminer opened this issue Feb 12, 2019 · 2 comments
Labels
A-diagnostics Area: Messages for errors, warnings, and lints C-enhancement Category: An issue proposing an enhancement or a PR with one. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@jminer
Copy link

jminer commented Feb 12, 2019

I just added an impl that I thought should be valid now with rust-lang/rfcs#2451, but I got a compiler error. So I found the RFC and copied the feature name re_rebalancing_coherence from it. However, I still got the compile error, so I spent a while trying to figure out if the impl was really valid. Eventually, I tried commenting out the impl, and then (thanks to #52644), the compiler told me the feature was unknown (it has been renamed to re_rebalance_coherence). The impl was valid using the correct feature name. I didn't get the error saying the feature name was invalid because of the error caused by the feature name being invalid.

I think the compiler should report unknown feature names even if there are other errors. For example: https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=e46fde7bf4076220df3005d702df9cbb doesn't report the feature name is invalid. With box syntax, it suggests "help: add #![feature(box_syntax)] to the crate attributes to enable" but the coherence error didn't.

Feel free to close this issue if you don't think it is worth fixing.

@estebank estebank added the A-diagnostics Area: Messages for errors, warnings, and lints label Feb 12, 2019
@euclio
Copy link
Contributor

euclio commented Feb 14, 2019

I'd like to work on this.

@euclio
Copy link
Contributor

euclio commented Feb 14, 2019

The challenge here is that the current logic for reporting unknown features doesn't get run until stability checking. So, if there's an error before then, then the check doesn't run. While it's possible for us to get language features up-front for error reporting, library features are collected much later. So, before we can report unknown feature names earlier, we have to figure out how to collect the library names earlier.

@crlf0710 crlf0710 added C-enhancement Category: An issue proposing an enhancement or a PR with one. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jun 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-diagnostics Area: Messages for errors, warnings, and lints C-enhancement Category: An issue proposing an enhancement or a PR with one. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

4 participants