-
Notifications
You must be signed in to change notification settings - Fork 13.5k
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.