> 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:
https://gist.github.com/jonhull/639e756ad5228348f93f40f06169588c
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…
Thanks,
Jon
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution