At least SR-103 is a legitimate bug that we would like to fix one day.

Slava

> On Nov 5, 2017, at 1:27 AM, Goffredo Marocchi <pana...@gmail.com> wrote:
> 
> I would say that you kind of already entered a slippery slope when the 
> extension to a protocol can add code / not just declare a behavioural 
> contract and how it changes OOP approach (hence: 
> https://bugs.swift.org/plugins/servlet/mobile#issue/SR-302 
> <https://bugs.swift.org/plugins/servlet/mobile#issue/SR-302>  and 
> https://bugs.swift.org/browse/SR-103 <https://bugs.swift.org/browse/SR-103>  
> and  https://bugs.swift.org/plugins/servlet/mobile#issue/SR-584 
> <https://bugs.swift.org/plugins/servlet/mobile#issue/SR-584>)
> 
> References:
> https://nomothetis.svbtle.com/the-ghost-of-swift-bugs-future 
> <https://nomothetis.svbtle.com/the-ghost-of-swift-bugs-future> 
> https://www.raizlabs.com/dev/2016/12/swift-method-dispatch 
> <https://www.raizlabs.com/dev/2016/12/swift-method-dispatch/>
> 
> Sent from my iPhone
> 
> On 5 Nov 2017, at 01:08, Slava Pestov <spes...@apple.com 
> <mailto:spes...@apple.com>> wrote:
> 
>> 
>> 
>>> On Nov 4, 2017, at 1:32 AM, Goffredo Marocchi <pana...@gmail.com 
>>> <mailto:pana...@gmail.com>> wrote:
>>> 
>>> 
>>> 
>>> Sent from my iPhone
>>> 
>>>> On 4 Nov 2017, at 05:26, Slava Pestov via swift-evolution 
>>>> <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> wrote:
>>>> 
>>>> Protocols define requirements, they don’t “add” things to the conforming 
>>>> type
>>> 
>>> I agree with this, but then this warrants a change for protocol extensions 
>>> too. Would you be happy with the restriction that default method 
>>> implementations are only available for value types and not for classes (as 
>>> structs cannot share code any other way, it is the argument for that I seem 
>>> to recall)?
>> 
>> Protocol extensions are in some sense just syntax sugar for defining new 
>> functions. Having a protocol conformance add storage to the conforming type 
>> is fundamentally different.
>> 
>> Slava
>> 
>>> 
>>> 
>> 

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to