> On Oct 13, 2016, at 3:27 PM, Rick Mann <[email protected]> wrote: > >> >> On Oct 13, 2016, at 14:47 , Joe Groff <[email protected]> wrote: >> >> >>> On Oct 13, 2016, at 2:36 PM, Rick Mann via swift-users >>> <[email protected]> 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 [email protected] https://lists.swift.org/mailman/listinfo/swift-users
