[swift-evolution] [swift-evolution-announce] [Review] SE-0089: Replace protocol<P1, P2> syntax with Any<P1, P2>
jhull at gbis.com
Sat Jun 11 05:25:16 CDT 2016
> If your code has many manual type erasing wrappers corresponding to
> protocols with associated types and/or Self requirements that also never
> have to trap type mismatches, that would certainly be instructive
> empirical data. Would you care to share the protocols and wrappers you
> are talking about?
This code is a bit embarrassing (I wrote most of it as I was still learning Swift), but if it is helpful I will share:
It doesn’t trap anywhere (that I know about). Some of the code which calls it does throw an error in the case of mismatched types (but it doesn’t/shouldn't crash). Most functions which use it are generic on the associatedType.
It does work fairly well though (even on the AppleWatch). The main issue is that I have no way to persist the values which have been drawn into the type-erased world (or even the value-type world, really).
Also, if anyone has a better way to write the type erasing wrapper, I would love to hear it. These are very memory intensive…
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the swift-evolution