> 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