> 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


-- 
Rick Mann
rm...@latencyzero.com


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

Reply via email to