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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
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: A tracking issue for an RFC or an unstable feature.Relevant 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