> On May 10, 2016, at 9:50 AM, Erica Sadun <[email protected]> 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'm stepping away from endorsing or pushing this forward. If you want to pick 
> this up and run with it, it's yours.

I may do this if there is enough support from others.  Lets see what the 
response is in this thread.  Thanks for starting it.

> 
> -- E
> 
> 
>> On May 10, 2016, at 8:34 AM, Matthew Johnson <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> 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 
>> <[email protected] <mailto:[email protected]>> 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
>>> [email protected] <mailto:[email protected]>
>>> https://lists.swift.org/mailman/listinfo/swift-evolution 
>>> <https://lists.swift.org/mailman/listinfo/swift-evolution>
> 

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to