Open
Description
This is a lint for code like
struct S;
mod m {
type A = S;
}
when it comes from a derive macro.
The code should obviously not compile because S
is not in scope at its point of use, but before #51952 it compiled if the code was produced by a derive macro, and some popular crates like actix_derive
, diesel_derives
and palette_derive
exploited this in the wild.
This deprecation lint was added in #51952 as warn-by-default.
Metadata
Metadata
Assignees
Labels
Area: Lints (warnings about flaws in source code) such as unused_mut.Area: Backwards compatibility hacks for proc macrosArea: Procedural macrosCategory: Future-incompatibility lintsCategory: An issue tracking the progress of sth. like the implementation of an RFCRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the language team, which will review and decide on the PR/issue.
Type
Projects
Status
Idea