> 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