Skip to content

Tracking issue for future-incompatibility lint proc_macro_derive_resolution_fallback #83583

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

No one assigned

    Labels

    A-lintArea: Lints (warnings about flaws in source code) such as unused_mut.A-proc-macro-back-compatArea: Backwards compatibility hacks for proc macrosA-proc-macrosArea: Procedural macrosC-future-incompatibilityCategory: Future-incompatibility lintsC-tracking-issueCategory: A tracking issue for an RFC or an unstable feature.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-langRelevant to the language team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions