ok Hara Kenji just fixed the bug, see
https://github.com/D-Programming-Language/dmd/pull/2041
So what's left unspecified now wrt DIP40?
My proposal was to just address case C2 below, not C1 (at least initially):
case C1:
template A(T1) {struct A{ this()(T1 a) {} }}
case C2:
struct A(T1){ this()(T1 a) {}}
Even though struct A(T1) may internally be implemented as template A(T1), I
think the most useful / less problematic conversion is just case C2.
In other words, as i said before, the constructors inside a template (as in
case C1) would note be considered as part of the overload set for this
DIP40 (at least initially).
On Tue, May 14, 2013 at 12:02 PM, Timon Gehr <[email protected]> wrote:
> On 05/14/2013 05:08 PM, Kenji Hara wrote:
>
>> ...
>>
>>
>> Current dmd behavior is definitely a bug. Could you please file it in
>> bugzilla?
>> ...
>>
>
> http://d.puremagic.com/issues/**show_bug.cgi?id=10083<http://d.puremagic.com/issues/show_bug.cgi?id=10083>
>
>