extension Array where Element == Range<String.Index> { // <== how to generalize to any kind of Range<X>, not just String.Index?
// want to let my extension handle any Range<T>
}
I’m probably overlooking something more direct, but at the very least this ought to work:
protocol RangeProtocol {
// List whichever of Range’s members matter.
}
extension Range: RangeProtocol {}
extension Array where Element: RangeProtocol {
// ...
}
1 Like
There's not actually a better way in today's Swift, but @Alejandro has been working to improve that! Hopefully the core team will be ready for "Parameterized Extensions" soon.
6 Likes