Open
Description
I tried enabling unused_qualifications
for the compiler itself. It mostly works, but gets confused by pub use Foo::*
forms.
Here's an example from compiler/rustc_ast/src/token.rs
, which has this:
pub use LitKind::*;
followed by this:
pub enum LitKind {
Bool, // AST only, must never appear in a `Token`
Byte,
Char,
Integer, // e.g. `1`, `1u8`, `1f32`
Float, // e.g. `1.`, `1.0`, `1e3f32`
Str,
StrRaw(u8), // raw string delimited by `n` hash symbols
ByteStr,
ByteStrRaw(u8), // raw byte string delimited by `n` hash symbols
CStr,
CStrRaw(u8),
Err(ErrorGuaranteed),
}
It emits a bogus error for every variant of the enum. Here's one example:
error: unnecessary qualification
--> compiler/rustc_ast/src/token.rs:160:10
|
160 | pub enum LitKind {
| __________^
161 | | Bool, // AST only, must never appear in a `Token`
162 | | Byte,
163 | | Char,
164 | | Integer, // e.g. `1`, `1u8`, `1f32`
| |___________^
|
help: remove the unnecessary path segments
|
160 - pub enum LitKind {
161 - Bool, // AST only, must never appear in a `Token`
162 - Byte,
163 - Char,
164 - Integer, // e.g. `1`, `1u8`, `1f32`
160 + pub enum Integer, // e.g. `1`, `1u8`, `1f32`
|
There is no qualification present, and the help
suggestion is nonsense.
I was unable to reproduce this behaviour in a standalone test case.
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity