[swift-evolution] [RFC] #Self

Chris Lattner clattner at apple.com
Tue May 10 10:56:38 CDT 2016


> On May 10, 2016, at 7:50 AM, Erica Sadun via swift-evolution <swift-evolution at swift.org> wrote:
> 
> As a compile-time substitution, it could be used in any and all of the examples in your bullet list as a literal text replacement..
> 
> Quick rundown:
> 
> struct A {
>    ...#Self... // #Self is substituted by A
> }
> 
> class B {
>     ...#Self... // Self is substituted by B
> }
> 
> class C {
>    ... #Self... // Self is substituted by C, which is the defining type at compile time
> }

I think it would be surprising if #Self produced the name of the enclosing static type: Self produces the dynamic type, and we’d want to preserve consistency if it were named #Self.

-Chris





More information about the swift-evolution mailing list