-
-
Notifications
You must be signed in to change notification settings - Fork 14.9k
Macro expansion bypasses #[derive_*] stability checks. #32655
Copy link
Copy link
Closed
Labels
I-needs-decisionIssue: In need of a decision.Issue: In need of a decision.P-highHigh priorityHigh priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.T-langRelevant to the language teamRelevant to the language team
Metadata
Metadata
Assignees
Labels
I-needs-decisionIssue: In need of a decision.Issue: In need of a decision.P-highHigh priorityHigh priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.T-langRelevant to the language teamRelevant to the language team
Type
Fields
Give feedbackNo fields configured for issues without a type.
One can use macro expansion to bypass all early attribute checks, directly:
Or by using the built-in
include!macro.Found while investigating
libpnetbreakage.This affects any use of
#[derive(...)]insyntex, as virtually everyone usesinclude!.Even though I don't like stabilizing this, there may be too many cases in the wild.