Architectural groundwork for expansion-time evaluation
@oli-obk is already working on this.
Since Jun 3, 2026.
- Dominant language
- Rust
- Stars
- 173
- Forks
- 119
- Avg merge
- 6h 31m
- Merged PRs (30d)
- 20
Description
| Metadata | |
|---|---|
| Point of contact | @oli-obk |
| Team(s) | compiler, types |
| Goal document | 2026/expansion-time-evaluation |
Summary
Lay the architectural groundwork for functions that can be evaluated during macro expansion. This speculative work focuses on "queryifying" the resolver and implementing a restricted trait solver mode, enabling future language features like macro fn and compiler-integrated interop tools.
Tasks and status
Note: we have updated the body to match the 2026 goal. Your original text is preserved below.
| Metadata | |
|---|---|
| Point of contact | @tmandry |
| Team(s) | compiler, types |
| Goal document | 2026/expansion-time-evaluation |
Summary
Lay the architectural groundwork for functions that can be evaluated during macro expansion. This speculative work focuses on "queryifying" the resolver and implementing a restricted trait solver mode, enabling future language features like macro fn and compiler-integrated interop tools.
Needs funding: This goal needs funding to proceed.
Tasks and status
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.