> Begin forwarded message:
> 
> From: Paulo Faria <pa...@zewo.io>
> Subject: Re: [swift-evolution] Name disambiguation of computed 
> property/function with same type defined in extensions
> Date: June 7, 2016 at 4:08:16 PM GMT-3
> To: Brent Royal-Gordon <br...@architechies.com>
> 
> Yeah! I really like that option. no new keyword and it makes a lot of sense 
> cause look at the error message:
> 
> error: ambiguous use of 'capitalized()'
> let capitalized = "hello swift".capitalized()
>                  ^
> ModuleA.String:2:17: note: found this candidate
>    public func capitalized() -> String
>                ^
> ModuleB.String:2:17: note: found this candidate
>    public func capitalized() -> String
> 
> 
> Specifically ModuleA.String:2:17 and ModuleB.String:2:17. So it seems to me 
> that Brent's proposal makes a lot of sense actually!
> 
>> On Jun 7, 2016, at 8:24 AM, Brent Royal-Gordon <br...@architechies.com> 
>> wrote:
>> 
>>> 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
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to