On Tue, 14 May 2013 00:32:49 -0400, Timothee Cour
<thelastmamm...@gmail.com> wrote:
I declared fun(T) as fun(T)() with the added parenthesis, and it
worked (tested on dmd 2.062 / ubuntu 64bits).
sorry I reduced wrongly.
Here's the inconsistency:
----
struct A {
this(T)(T x) { }
}
auto fun1(){
auto a=A.__ctor!(int)(1); //OK
This line causes an error message for me:
testctor.d(5): Error: need 'this' for 'this' of type 'pure nothrow ref
@safe A(int x)'
return a;
}
auto fun2(){
// return A.__ctor!(int)(1); //uncomment gives Error: type A is not an
expression
Same error for me here:
testctor.d(9): Error: need 'this' for 'this' of type 'pure nothrow ref
@safe A(int x)'
I'm using dmd beta candidate, 2.061 does give the same error message you
have.
Note that you may expect this as you are using an undocumented "feature" :)
-Steve