Skip to content

Commit b61f222

Browse files
authored
Merge pull request #196 from joshtriplett/macro-implements
macro-improvements: Update based on coordination with wg-macros
2 parents a5e5919 + 2885de6 commit b61f222

File tree

1 file changed

+31
-16
lines changed

1 file changed

+31
-16
lines changed

src/2025h1/macro-improvements.md

+31-16
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
| Metadata | |
44
|----------|---------------|
55
| Owner(s) | @joshtriplett |
6-
| Teams | [lang] |
6+
| Teams | [lang], [wg-macros] |
77
| Status | Proposed |
88

99
## Summary
@@ -18,10 +18,7 @@ features, to encourage crate authors to try them and provide feedback, and to
1818
plan transitions within the ecosystem.
1919

2020
The scope of this goal is an arc of many related RFCs that tell a complete
21-
story. The scope of this goal does not encompass the full implementation work,
22-
though I commit to spending time iterating on the design with potential
23-
implementers, and to shepherding and handling procedural matters (e.g.
24-
stabilization reports) as needed.
21+
story, as well as the implementation of the first few steps.
2522

2623
## Motivation
2724

@@ -54,8 +51,8 @@ their dependencies.
5451
### The next 6 months
5552

5653
Over the next 6 months, I'll propose RFCs to improve the current state of
57-
declarative (`macro_rules!`) macros, and work to get those RFCs accepted. Those
58-
RFCs together will enable:
54+
declarative (`macro_rules!`) macros, and work with @eholk and @vincenzopalazzo
55+
to get those RFCs implemented. Those RFCs together will enable:
5956

6057
- Using `macro_rules!` to define attribute macros (`#[attr]`)
6158
- Using `macro_rules!` to define derive macros (`#[derive(Trait)]`)
@@ -77,9 +74,10 @@ language. I expect these to reach pre-RFC form and be suitable for discussion
7774
at RustWeek in May 2025, and hopefully reach consensus, but I do not expect
7875
them to be fully accepted or shipped in the next 6 months.
7976

80-
There is already a wg-macros team. I've spoken with @eholk on that team about
81-
revitalizing that team, and considering policy and potential delegation from
82-
[lang], in a similar spirit to wg-const-eval, t-types, and t-opsem.
77+
In addition, as part of this goal, I intend to work with @eholk and
78+
@vincenzopalazzo to revitalize the wg-macros team, and evaluate potential
79+
policies and delegations from [lang], in a similar spirit to wg-const-eval,
80+
t-types, and t-opsem.
8381

8482
Much as with the const eval system, I expect this to be a long incremental
8583
road, with regular improvements to capabilities and simplicity. Crate authors
@@ -131,20 +129,34 @@ could reserve such syntax in all editions.
131129

132130
| Task | Owner(s) or team(s) | Notes |
133131
|--------------------------------------------------|---------------------|--------------------------------------------------------------------------------------------|
134-
| Discussion and moral support | ![Team][] [lang] | |
135132
| Propose discussion session at RustWeek | @joshtriplett | |
136-
| Inside Rust blog post on attribute/derive macros | @joshtriplett | |
137-
| Inside Rust blog post on additional capabilities | @joshtriplett | |
138-
| Policy decision | ![Team][] [lang] | Discussed with @eholk; lang would decide whether to delegate specific matters to wg-macros |
133+
| Policy decision | ![Team][] [lang] [wg-macros] | Discussed with @eholk and @vincenzopalazzo; lang would decide whether to delegate specific matters to wg-macros |
139134

140-
### Design for `macro_rules!` attributes/derives
135+
### `macro_rules!` attributes
141136

142137
| Task | Owner(s) or team(s) | Notes |
143138
|----------------------------------------|---------------------|-------|
144139
| Author/revise/iterate RFCs | @joshtriplett | |
145140
| Prioritized nominations | ![Team][] [lang] | |
146141
| RFC decision | ![Team][] [lang] | |
142+
| Implementation of RFC | @eholk, @vincenzopalazzo | |
147143
| Iterate on design as needed | @joshtriplett | |
144+
| Inside Rust blog post on attribute macros | @joshtriplett | |
145+
| Process feedback from crate authors | @joshtriplett | |
146+
| Author stabilization report (if ready) | @joshtriplett | |
147+
| Stabilization decision | ![Team][] [lang] | |
148+
149+
### `macro_rules!` derives
150+
151+
| Task | Owner(s) or team(s) | Notes |
152+
|----------------------------------------|---------------------|-------|
153+
| Author/revise/iterate RFCs | @joshtriplett | |
154+
| Prioritized nominations | ![Team][] [lang] | |
155+
| RFC decision | ![Team][] [lang] | |
156+
| Implementation of RFC | @eholk, @vincenzopalazzo | |
157+
| Iterate on design as needed | @joshtriplett | |
158+
| Inside Rust blog post on derive macros | @joshtriplett | |
159+
| Process feedback from crate authors | @joshtriplett | |
148160
| Author stabilization report (if ready) | @joshtriplett | |
149161
| Stabilization decision | ![Team][] [lang] | |
150162

@@ -155,11 +167,14 @@ could reserve such syntax in all editions.
155167
| Author initial RFC | @joshtriplett | |
156168
| Design meeting | ![Team][] [lang] | |
157169
| RFC decision | ![Team][] [lang] | |
170+
| Implementation of RFC | @eholk, @vincenzopalazzo | |
158171
| Iterate on design as needed | @joshtriplett | |
172+
| Inside Rust blog post on additional capabilities | @joshtriplett | |
159173
| Process feedback from crate authors | @joshtriplett | |
174+
| Author stabilization report (if ready) | @joshtriplett | |
175+
| Stabilization decision | ![Team][] [lang] | |
160176
| Support lang experiments for fragment fields | @joshtriplett | |
161177
| Author small RFCs for further fragment fields | @joshtriplett | |
162-
| RFC decision | ![Team][] [lang] [wg-macros] | |
163178

164179
### Design for macro metavariable constructs
165180

0 commit comments

Comments
 (0)