Open
Description
Metadata | |
---|---|
Point of contact | @joshtriplett |
Team(s) | lang, wg-macros |
Goal document | 2025h1/macro-improvements |
Summary
In this project goal, I'll propose and shepherd Rust language RFCs to make
macro_rules!
macros just as capable as proc macros, and to make such macros
easier to write. I'll also start prototyping extensions to the declarative
macro system to make macros easier to write, with the aim of discussing and
reaching consensus on those additional proposals during RustWeek (May 2025) at
the latest. Finally, I'll write a series of Inside Rust blog posts on these
features, to encourage crate authors to try them and provide feedback, and to
plan transitions within the ecosystem.
The scope of this goal is an arc of many related RFCs that tell a complete
story, as well as the implementation of the first few steps.
Tasks and status
- Propose discussion session at RustWeek (@joshtriplett)
- Policy decision (lang, wg-macros
)
macro_rules!
attributes
- Author/revise/iterate RFCs (@joshtriplett)
- RFC decision (lang
)
- Lang-team champion (lang
)
- Implementation of RFC (@eholk, @vincenzopalazzo)
- Iterate on design as needed (@joshtriplett)
- Inside Rust blog post on attribute macros (@joshtriplett)
- Process feedback from crate authors (@joshtriplett)
macro_rules!
derives
- Author/revise/iterate RFCs (@joshtriplett)
- RFC decision (lang
)
- Lang-team champion (lang
)
- Implementation of RFC (@eholk, @vincenzopalazzo)
- Iterate on design as needed (@joshtriplett)
- Inside Rust blog post on derive macros (@joshtriplett)
- Process feedback from crate authors (@joshtriplett)
Design and iteration for macro fragment fields
- Author initial RFC (@joshtriplett)
- Design meeting (lang
)
- RFC decision (lang
)
- Lang-team champion (lang
)
- Implementation of RFC (@eholk, @vincenzopalazzo)
- Iterate on design as needed (@joshtriplett)
- Inside Rust blog post on additional capabilities (@joshtriplett)
- Process feedback from crate authors (@joshtriplett)
- Support lang experiments for fragment fields (@joshtriplett)
- Author small RFCs for further fragment fields (@joshtriplett)
Design for macro metavariable constructs
- Design research and discussions (@joshtriplett)
- Discussion and moral support (lang, wg-macros
)
- Author initial RFC (@joshtriplett)
Metadata
Metadata
Assignees
Type
Projects
Status
Project goal