[GSoC 2025] Re-implement property wrappers with macros project

Hi everyone,

I'm Ziad, a second-year computer science student, and I’m excited about the “Re-implement Property Wrappers with Macros” project. I would love to contribute to it!

I'm new to Swift, but I have experience with Java, C++, and C#. However, I'm a fast learner and confident that I can pick it up quickly. I also understand that the project involves compiler-related work, but I don’t have experience with compilers yet.

I have previous experience contributing to open-source projects outside of GSoC, specifically the FreeCAD project, where I helped implement some features in its core logic.

For now, I have a few questions:

  1. Could you please suggest some starter issues to help me get familiar with the project and Swift codebase?
  2. Could you recommend some resources to learn more about macros and property wrappers?
  3. Is building a demo for this project an important requirement before submitting the proposal, or is it just a "nice to have" addition to demonstrate my understanding?
  4. Would not working on Xcode and macOS be a limitation for contributing to the Swift compiler repository?
  5. Can I start working on the project design and a small demo for it without making any previous PRs on Swift repo ?

I’m eager to start as soon as possible by drafting a high-level design and implementing a demo to ensure I fully understand the project.
@xedin, looking forward to your input and discussing the project together so that I can prepare as much as I can for the project.

Thank you!

1 Like

looking forward to discussing potential ideas and implementations to improve the overall experience regarding the advertised problem statement

1 Like

Hello and thank you for your interest!

Could you please suggest some starter issues to help me get familiar with the project and Swift codebase?

You could start by looking at "good first issue" labeled issues.

Could you recommend some resources to learn more about macros and property wrappers?

I think you should start with property wrappers proposal, there are multiple proposals for macros as well starting from expression macros. Understanding current capabilities of property wrappers and macros is essential.

Is building a demo for this project an important requirement before submitting the proposal, or is it just a "nice to have" addition to demonstrate my understanding?

No demo required.

Would not working on Xcode and macOS be a limitation for contributing to the Swift compiler repository?

No, Xcode and macOS are not a requirement. The compiler could be developed on Linux and Windows as well.

Can I start working on the project design and a small demo for it without making any previous PRs on Swift repo ?

I'd suggest you start with some "good first issue" and/or property wrapper bugs and go from there. The project spans multiple areas of the compiler such as semantic analysis and SIL generation so in order to prepare a strong proposal you'd have to understand how some of that works in regards to property wrapper support.