+1  

I was just missing this feature as well.

Thanks,
Jon

> On Feb 22, 2017, at 10:16 AM, Nate Cook via swift-evolution 
> <[email protected]> wrote:
> 
> Hello all,
> 
> I was surprised to find that I can't use an instance member as the default 
> value of a method parameter, only constants and the run-time calculated 
> #file, #line, etc. Is it possible to remove this limitation?
> 
> I'd like to propose that we add an overload of the collection 
> index(_:offsetBy:) methods that use the collection's startIndex as a default 
> parameter, but we can't provide that without either this feature or an extra 
> overload. If the declaration looks like this:
> 
> extension Collection {
>     func index(_ i: Index = startIndex, offsetBy n: IndexDistance) -> Index {
>         // ...
>     }
> }
> 
> then calling that method with an omitted first parameter would treat it as 
> something like this:
> 
> extension Collection {
>     func index(offsetBy n: IndexDistance) -> Index {  
>         let i = startIndex
>         // ...
>     }
> }
> 
> Is this just syntactic sugar, or am I missing something that makes this 
> harder than it looks? I can see how more complex expressions could be useful 
> there, too, and can't find an obvious reason we couldn't use any code that 
> could be inserted at the top of the method body.
> 
> Thanks!
> Nate
> 
> _______________________________________________
> 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

Reply via email to