Why are inout
subscript parameters prohibited?
I just tried making a Collection
subscript that post-increments the index, and was met with this error:
extension Collection {
// error: 'inout' must not be used on subscript parameters
subscript (postIncrement i: inout Index) -> Element {
defer { formIndex(after: &i) }
return self[i]
}
}
What’s the rationale here?