> I want to discuss the problem of name ambiguity when a computed property or
> function is defined with the same name and type in different modules.
> Currently there’s no way to disambiguate the implementation in use cases
> similar to the one contained in the gist below.
>
> https://gist.github.com/paulofaria/f48d0b847a0fb7c125d163d0e349500a
>
> The gist also contains some informal proposals. The idea is to create a
> formal proposal based on the discussion that shall follow.
We already have the concept of prefixing a type name with a module to
disambiguate when two modules have the same type. I wonder if we could do the
same thing to disambiguate between conflicting extensions?
import ModuleA
import ModuleB
("hello world" as ModuleA.String).capitalized() // Swift.String, with
only APIs known to ModuleA
("hello world" as ModuleB.String).capitalized() // Swift.String, with
only APIs known to ModuleB
"hello world".capitalized() //
Still causes a compile-time error for ambiguity
--
Brent Royal-Gordon
Architechies
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution