[swift-evolution] [RFC] #Self

Matthew Johnson matthew at anandabits.com
Tue May 10 09:34:38 CDT 2016

Can you clarify where would #Self would be allowed?

* property declarations
* method signatures
* method and computed property bodies
* all of the above

I would like to see this and allowed in all of the above.

We should also consider allowing this in protocol requirements.  It would not covary like Self does for return types, instead being fixed by the class that declares conformance.

Sent from my iPad

> On May 10, 2016, at 8:15 AM, Erica Sadun via swift-evolution <swift-evolution at swift.org> wrote:
> To focus SE-0068 and narrow its scope, I removed the `#Self` part of the proposal. This offered compile-time substitution of the defining type for a related #Self literal:
> A further static identifier, #Self expands to static type of the code it appears within, completing the ways code may want to refer to the type it is declared in. 
> #Self expands to the static type of the code it is declared within. In value types, this is always the same as Self. In reference types, it refers to the declaring type. #Self will offer a literal textual replacement just like #file, etc.
> At Chris's suggestion, I'm starting a new SE thread to see whether there remains any interest for including #Self in the language. I'm personally happy with the SE-0068 outcome but I didn't want to undercut anyone like Timothy Wood who had originally spoken up for its inclusion.
> -- E
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160510/588d6bbb/attachment.html>

More information about the swift-evolution mailing list