> On Oct 13, 2016, at 3:27 PM, Rick Mann <rm...@latencyzero.com> wrote:
> 
>> 
>> On Oct 13, 2016, at 14:47 , Joe Groff <jgr...@apple.com> wrote:
>> 
>> 
>>> On Oct 13, 2016, at 2:36 PM, Rick Mann via swift-users 
>>> <swift-users@swift.org> wrote:
>>> 
>>> It seems I can write this:
>>> 
>>> extension String
>>> {
>>> public func deleting(prefix inPrefix: String) -> String
>>> public func deleting(prefix inPrefix: String) -> String?
>>> }
>>> 
>>> But I was hoping it would do the right thing:
>>> 
>>> let a = s.deleting(prefix: "foo")
>>> if let b = s.deleting(prefix: "foo") { }
>>> 
>>> But it finds these ambiguous, and I'm not sure how to specify which I want.
>> 
>> The first one is truly ambiguous since either overload works. If you specify 
>> the type of 'a', you should be able to choose one or the other:
>> 
>> let a: String = s.deleting(prefix: "foo")
>> let b: String? = s.deleting(prefix: "foo")
>> 
>> The `if let` should not be ambiguous, since only the Optional-returning 
>> overload is a valid candidate. Got time to file a bug?
> 
> Here you go: https://bugs.swift.org/browse/SR-2942

Thanks!

-Joe
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to