Hi everyone,
I’m Renish, a recent M.S. Computer Science graduate from UT Arlington (Dec 2025), and I’m very interested in working on the “Re-implement property wrappers with macros” project for GSoC.
I’ve been following the recent progress around Swift Macros and init accessors, and I’m excited about the possibility of removing property-wrapper-specific logic from the compiler and rebuilding the feature using existing language mechanisms. This feels like a great opportunity to improve compiler code health while keeping behavior stable for users.
What I’m thinking about for the project:
Property wrappers today rely on compiler-special cased behavior across parsing, semantic analysis, and SIL generation. With macros + init accessors, the core idea seems to be expressing the wrapper transformation explicitly as a macro expansion: synthesizing backing storage, generating accessors for wrappedValue/projectedValue, and handling initialization rules (including wrapper stacking). The main challenge, as I understand it, is achieving full parity with existing wrapper semantics — especially for edge cases where current macro/init-accessor capabilities may not yet cover all use scenarios.
I’d love to hear from the mentors and community about the current direction and what the “must-cover” scope looks like.
-
What’s the minimum viable success for GSoC here — full removal of all property-wrapper-specific compiler code, or a staged migration with a roadmap?
-
Are there known gap scenarios today where macros/init accessors cannot express existing property wrapper behavior (examples/tests I should start from)?
-
Is there a recommended starting point in the compiler codebase for identifying wrapper-specific logic (Sema vs SILGen vs synthesis paths)?
-
For evaluation, should success be measured primarily by test-suite parity, compiler code removed, or also compile-time performance parity?
Thanks for all the work enabling these newer features—I'm excited to learn from the community, especially @xedin as a potential mentor, and I’d really appreciate your guidance as I contribute to the macros effort and become an active part of this community.
Renish