Good point. I can also imagine some use-cases for this too:
extension Array {
// select possibly non-contiguous members based on predicate function
subscript<T>(matching: (T) throws -> Bool) -> [T] { /**/ }
}
It will need to align with the fix for rethrows
and since its new, would not support rethrows(unsafe)
.
I'll look into the feasibility of implementing this.