on Wed Apr 06 2016, Jeremy Pereira <[email protected]> wrote:
> I think I would be -1 on this.
>
> The proposal is that there be two names, Self and self that refer to
> different objects but are differentiated only by the capitalisation of
> the first letter and these could be mixed in the same context.
No, Self would not refer to an object; Self is a type alias. Self.self
is the metatype object that you might be thinking of.
> I think this would make code that uses both harder to read. If typing
> ‘self.dynamicType’ is too onerous, how about shortening it in a
> different way? Why, for instance is ‘self.' mandatory? Alternatively,
> why is it ‘dynamicType’ and not just ‘type’?
That's a completely different beast; not useful in the same contexts.
For example, you can't write
var x: self.dynamicType
but you could write
var x: Self
>
>> On 6 Apr 2016, at 10:51, Adrian Kashivskyy via swift-evolution
>> <[email protected]> wrote:
>>
>> +1 for Self and the proposal.
>>
>>
>> Pozdrawiam – Regards,
>> Adrian Kashivskyy
>>
>>> Wiadomość napisana przez Bernd Ohr (jazzbox) via swift-evolution
>>> <[email protected]> w dniu 06.04.2016, o godz. 09:11:
>>>
>>> I am using a typealias for this:
>>>
>>> struct MyStruct {
>>> private typealias _Self = MyStruct
>>>
>>> static func staticMethod() { print("staticMethod") }
>>>
>>> func instanceMethod() {
>>> _Self.staticMethod()
>>> }
>>> }
>>>
>>>
>>>
>>>>> On Apr 5, 2016, at 4:17 PM, Timothy
>>>>> Wood<[email protected](mailto:[email protected])>wrote:
>>>>>
>>>>>> On Apr 5, 2016, at 3:04 PM, Joe Groff via
>>>>>> swift-evolution<[email protected](mailto:[email protected])>wrote:
>>>>>> What you're describing should be spelled `Self`, IMO. I think
>>>>>> Tim intended `#Self` to mean the *static* type the code is
>>>>>> declared inside (which is the same as Self unless you're in a
>>>>>> class).
>>>>>
>>>>> Yes, that is what I was aiming for. `#Self` would be a pretty
>>>>> much textual replacement just like #file, etc. That is, I could
>>>>> imaging it being used in a bunch of cases (not useful here, but
>>>>> just intending to enumerate the possible uses I see):
>>>> Please check to ensure that the changes I just made match your
>>>> expectations:
>>>>
>>>> https://gist.github.com/erica/c60c7d51809889f3dfd47cdb482d6227
>>>>
>>>> -- E
>>>>
>>>
>>> _______________________________________________
>>> swift-evolution mailing list
>>> [email protected]
>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>>
>> _______________________________________________
>> swift-evolution mailing list
>> [email protected]
>> https://lists.swift.org/mailman/listinfo/swift-evolution
>
> _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution
--
Dave
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution