See inline > Am 31.03.2016 um 20:14 schrieb Dave Abrahams via swift-evolution > <[email protected]>: > > >> on Tue Mar 29 2016, Jason Sadler <[email protected]> wrote: >> >> Hi folks, >> >> I have an issue with using a heterogeneous array of objects conforming >> to a protocol - I want to write an extension on Array (or >> CollectionType) that applies only when Element : MyProtocol, but I >> can’t call methods in that extension from an instance of [MyProtocol] >> because "Using ‘MyProtocol' as a concrete type conforming to protocol >> ‘MyProtocol' is not supported” > > Hint: write your extension so it applies when Element == MyProtocol instead. >
Why don't we also imply `Element == MyProtocol` when using `Element: MyProtocol` ? Both extensions can have the exact same functions/implementation. Am I missing something? I currently don't see why we are forced to distinguish between homogeneous and heterogeneous Collections. Kind regards - Maximilian >> (For more background, my full use case can be seen in this gist: >> https://gist.github.com/sadlerjw/2cc16b4375b02fe7f400) >> >> I’ve asked about this on swift-users >> (https://lists.swift.org/pipermail/swift-users/Week-of-Mon-20160321/001560.html) >> and got some good workarounds but no one was able to provide me with >> information on any future plans in swift to address this issue - >> whether that’s making protocols conform to themselves, or some other >> improved approach to heterogeneous collections. I wonder if anyone >> here can shed some light on this? (I’m new to the mailing lists, >> sorry!) > > -- > Dave > > _______________________________________________ > 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
