In Wux's example, he has third party code:
```
Type ThirdParty {
func foo() { print("from third party") }
}
```
Then in his own code, he defines protocol A and extends it:
extension A {
func foo() {
print("Self is B")
}
}
and conforms ThirdParty to A. But he wants the original foo() implementation.
Your approach
for writing an extension for plain A without a where clause doesn't offer that
solution. The goal
here is "Add this default behavior *only* where a type does not conform to B"
-- E
> On Apr 29, 2016, at 9:10 AM, Thorsten Seitz <[email protected]> wrote:
>
> Just writing an extension for plain A without a where clause works.
>
> -Thorsten
>
> Am 29.04.2016 um 16:03 schrieb Erica Sadun via swift-evolution
> <[email protected] <mailto:[email protected]>>:
>
>> Gmane is down as far as my browser is concerned and I haven't found anything
>> by Googling.
>>
>> Given the following:
>>
>> protocol A {func foo()}
>> protocol B {} // empty protocol
>>
>> extension A where Self:B {
>> func foo() {
>> print("Self is B")
>> }
>> }
>>
>> // Works
>> struct S1: A, B {}
>> S1().foo()
>>
>> Is there a way to produce a similar extension that exempts any type that
>> conforms to B?
>>
>> cc'ing in Wux because this is a direct response to a scenario he brought up
>> yesterday.
>>
>> -- 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