DIP 1020--Named Parameters--Community Review Round 2

Yuxuan Shui yshuiv7 at gmail.com
Thu Sep 12 13:44:34 UTC 2019


On Thursday, 12 September 2019 at 12:06:47 UTC, rikki cattermole 
wrote:
> On 12/09/2019 11:50 PM, Yuxuan Shui wrote:
>> On Thursday, 12 September 2019 at 11:46:46 UTC, rikki 
>> cattermole wrote:
>>> [...]
>> 
>> Ah, sorry. I meant to write draw(shape: someShape).
>
> In that case, two methods:
>
> 1. void draw(Shape)(@named Shape shape) { draw(shape); }
>
> 2. void draw(Shape:Circle)(@named Shape shape) { draw(shape); }
>
> The second is better because of validating the parameter type, 
> but does require one per type. Assuming I remember this 
> particular bit of templates correctly.
>
> I had to assume that drawing has to be specific to the type 
> passed in and that the draw function will be concrete (can be 
> virtual). But that shouldn't be a problem.

Sorry, I don't think I understand your answer. My question has 
nothing to do with templates.


More information about the Digitalmars-d mailing list