# GSoC 2021: Referencing enclosing self in a property wrapper type

**URL:** <https://forums.swift.org/t/gsoc-2021-referencing-enclosing-self-in-a-property-wrapper-type/46966>\
**Category:** Compiler\
**Tags:** gsoc-2021\
**Created:** [March 27, 2021, 11:08pm UTC](https://forums.swift.org/t/gsoc-2021-referencing-enclosing-self-in-a-property-wrapper-type/46966 "2021-03-27T23:08:09Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![KyungyoungHeo](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/kyungyoungheo/32/16179_2.png) [@KyungyoungHeo](https://forums.swift.org/u/KyungyoungHeo)\
**Post date:** [March 27, 2021, 11:08pm UTC](https://forums.swift.org/t/gsoc-2021-referencing-enclosing-self-in-a-property-wrapper-type/46966/1 "2021-03-27T23:08:09Z")

</div>

Hello, I'm Kyungyoung Heo, I am a senior at Soongsil university, South Korea. I have an experience with Swift, C/C++, Python. And I love to develope an iOS App and using Swift. I've done few projects in iOS.

- Converting images into scanner result like [Deep learning powered scanner vFlat.](https://apps.apple.com/in/app/vflat/id1540238220)
- Implementing AAAI2020 paper in iOS [Few-shot Face Reenactment MarioNETte](https://hyperconnect.github.io/MarioNETte/)

Property wrapper looks so interesting for me since first introduced at WWDC 2019. I'm so interested project by @hborla and would like to participate in GSoC 2021 with property wrapper project.

I just read @hborla's other previous reply, and plan to analyze and read [SE-0258 proposals](https://github.com/apple/swift-evolution/blob/main/proposals/0258-property-wrappers.md), [Pull Request](https://github.com/apple/swift/pull/25884), and source code in [lib/Sema/CodeSynthesis.cpp](https://github.com/apple/swift/pull/25884/files#diff-c414a9884977a2ceb6d4facd03d1ab032abb226e546674c4991fe3422b4dd44f) , [lib/Sema/TypeCheckPropertyWrapper.cpp](https://github.com/apple/swift/pull/25884/files#diff-b86f109fcbe5b457e073eecd4ac7c9671a39529ea489db79217e431ee500f546)

Before digging into this project, I just wonder those materials are good to digging or not. Please advise me.

It would be great to if I could contact you to discuss with.

Thanks,  
Kyungyoung Heo

---

<div class="post-metadata">

**Author:** ![hborla](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/hborla/32/27563_2.png) [@hborla](https://forums.swift.org/u/hborla)\
**Post date:** [March 29, 2021, 4:09pm UTC](https://forums.swift.org/t/gsoc-2021-referencing-enclosing-self-in-a-property-wrapper-type/46966/2 "2021-03-29T16:09:11Z")

</div>

Hi Kyungyoung, welcome to the Swift community!

> [@KyungyoungHeo](#):
>
> I just read @hborla's other previous reply, and plan to analyze and read [SE-0258 proposals](https://github.com/apple/swift-evolution/blob/main/proposals/0258-property-wrappers.md), [Pull Request](https://github.com/apple/swift/pull/25884), and source code in [lib/Sema/CodeSynthesis.cpp](https://github.com/apple/swift/pull/25884/files#diff-c414a9884977a2ceb6d4facd03d1ab032abb226e546674c4991fe3422b4dd44f) , [lib/Sema/TypeCheckPropertyWrapper.cpp](https://github.com/apple/swift/pull/25884/files#diff-b86f109fcbe5b457e073eecd4ac7c9671a39529ea489db79217e431ee500f546)

Yes, these are good resources to start with for this project. I recommend to focus on the language design side first, sketch out a rough idea (or a few ideas!) of how the feature could work, and then dig into the code and figure out how you could implement the feature.

I also wrote up some more guidance here:

> [@\[GSoC 2021\] Referencing enclosing self in a property wrapper type](https://forums.swift.org/t/gsoc-2021-referencing-enclosing-self-in-a-property-wrapper-type/45554/2):
>
> Hi Siddharth, welcome to the Swift Community! As a first step, I recommend reading the [Swift evolution proposal for property wrappers](https://github.com/apple/swift-evolution/blob/main/proposals/0258-property-wrappers.md). Everything through the Detailed Design section will give you a much more in-depth understanding of property wrappers and how they work. After that, focus on the future direction for [referencing enclosing self instance in a property wrapper](https://github.com/apple/swift-evolution/blob/main/proposals/0258-property-wrappers.md#referencing-the-enclosing-self-in-a-wrapper-type). Once you've done that, continue reading the rest of this post! I recommend getting familiar with the [memory exclusivity](https://docs.swift.org/swift-book/LanguageGuide/MemorySafety.html) …

Please let me know if you have any questions!

---

<div class="post-metadata">

**Author:** ![KyungyoungHeo](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/kyungyoungheo/32/16179_2.png) [@KyungyoungHeo](https://forums.swift.org/u/KyungyoungHeo)\
**Post date:** [April 2, 2021, 3:06pm UTC](https://forums.swift.org/t/gsoc-2021-referencing-enclosing-self-in-a-property-wrapper-type/46966/3 "2021-04-02T15:06:17Z")

</div>

Thanks for reply. I'll look design first then dig into code as you said.
