thinking more about this maybe it is not a bug but a feature :)
Indeed it is not clear which value of defaultA should be used, and
what should happen if defaultA is reassigned.
It did seem to work correctly: the value after the static initializer
was used, but maybe in some cases the value before the static
initializer would be used.
If this is the case it is strange that defining a function with such a
default argument works....
Fawzi
On 13-giu-10, at 16:23, Fawzi Mohamed wrote:
I have found the following regression in dmd 1.062 (works with 1.058).
Fawzi
module bug1;
class A{
int f(int a){
return a;
}
static A defaultA;
static this(){
defaultA=new A();
}
}
void TT(T)(T rIn,
int delegate(int) arg=&A.defaultA.f)
{
arg(2);
}
void instantiateTT(){
TT!(real)(4);
}
// with 1.062
// bug1.d(15): Error: cannot inline default argument &defaultA.f
_______________________________________________
dmd-beta mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/dmd-beta
_______________________________________________
dmd-beta mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/dmd-beta