-
Notifications
You must be signed in to change notification settings - Fork 14k
Open
Labels
A-attributesArea: Attributes (`#[…]`, `#![…]`)Area: Attributes (`#[…]`, `#![…]`)A-proc-macrosArea: Procedural macrosArea: Procedural macrosC-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCT-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.Relevant to the library API team, which will review and decide on the PR/issue.
Description
Feature gate: #![feature(cfg_eval)]
This is a tracking issue for built-in attribute macro #[cfg_eval] that is used for eagerly expanding all #[cfg] and #[cfg_attr] attributes in its input ("fully configuring" the input).
The effect is identical to effect of #[derive(Foo, Bar)] which also fully configures its input before passing it to macros Foo and Bar.
Public API
#[cfg_eval]
#[my_attr] // Receives `struct S {}` as input, the field is configured away by `#[cfg_eval]`
struct S {
#[cfg(FALSE)]
field: u8,
}Steps / History
- Implementation: Implement built-in attribute macro
#[cfg_eval]+ some refactoring #82682 - Final commenting period (FCP)
- Stabilization PR
Unresolved Questions
- None yet.
henryboisdequin, jbr, jonasbb, mohe2015, sam0x17 and 5 more
Metadata
Metadata
Assignees
Labels
A-attributesArea: Attributes (`#[…]`, `#![…]`)Area: Attributes (`#[…]`, `#![…]`)A-proc-macrosArea: Procedural macrosArea: Procedural macrosC-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCT-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.Relevant to the library API team, which will review and decide on the PR/issue.