Did you know you can use a static variable as a default parameter?
class poncho {
static var color= "yellow"
func foo(color: String = poncho.color){}
}
I think instance members should not be allowed as default members though.
It may lead to unexpected behavior.
On Wed, Feb 22, 2017 at 11:06 PM T.J. Usiyan via swift-evolution <
[email protected]> wrote:
> +1 if this doesn't have terrible implications.
>
> The downside to making it IUO or Optional is that that changes the type
> signature of `index(i:offsetBy:)` for no reason other than a default
> value. If you decide to change to or away from providing a default value it
> probably shouldn't change the type accepted in that spot.
>
> On Wed, Feb 22, 2017 at 7:32 PM, Ben Cohen via swift-evolution <
> [email protected]> wrote:
>
>
> On Feb 22, 2017, at 10:42 AM, Nate Cook via swift-evolution <
> [email protected]> wrote:
>
> Oops, left out that there's this horrifying way of writing it right now:
>
> extension Collection {
> func index(_ i: Index! = nil, offsetBy n: IndexDistance) -> Index {
> let i = i ?? startIndex
> // ...
> }
> }
>
> Nobody wants that.
>
>
> Oh I don’t think it’s all that bad! It also doesn’t need to be an IUO,
> since you’re unwrapping it immediately into another variable no matter what.
>
> This also gives you the flexibility to write this:
>
> extension Collection {
> func index(_ i: Index? = nil, offsetBy n: IndexDistance) -> Index {
> let i = i ?? (n < 0 ? endIndex : startIndex)
> // ...
> }
> }
>
> _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
>
>
> _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
>
> _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution