This is probably something additional and it might already have been discussed 
here somewhere, I apologize if I missed that talk.

The rule for parameter labels on functions was fixed in Swift, but now it kinda 
feels odd to have a different pair of rules for subscripts (at least it does 
feel odd to me).

// Is fine when the names are different
subscript(externalName internalName: ParamType) -> ElementType {
    get { … }
    set { … }
}

something[externalName: …]

// We had this with functions already, remeber?
subscript(sameName sameName: ParamType) -> ElementType {
    get { … }
    set { … }
}
Aligning this wouldn’t break anything. I believe this can be migrated easily.

// No label!
subscript(_ internalName: ParamType) -> ElementType {
    get { … }
    set { … }
}

something[externalName: …]

// Label name is the same as the parameter name
subscript(sameName: ParamType) -> ElementType {
    get { … }
    set { … }
}

// Different names
subscript(externalName internalName: ParamType) -> ElementType {
    get { … }
    set { … }
}
I know this might be something for stage 2, and I apologize again for posting 
this early, but we need a better way to keep ideas alive and not forget them 
after a half of a year. ;) (Forum?)



-- 
Adrian Zubarev
Sent with Airmail
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to