On Wednesday, 19 February 2014 at 16:20:39 UTC, Remo wrote:
Hi,

are there any news about this problem ?

This code does compile.
[code]
ref int min(ref int lhs,ref int rhs) {
        return lhs > rhs ? rhs : lhs;
}
auto fptr = &min;

pragma(msg,typeof(fptr).stringof); //int function(ref int lhs, ref int rhs) ref
[/code]

But how to manually specify type of fptr?

This does not compiles
[code]
int function(ref int lhs, ref int rhs) ref fptr3 = &min; //Error: no identifier for declarator int function(ref int lhs, ref int rhs)
[/code]

this one too.
[code]
ref int function(ref int lhs, ref int rhs) fptr3 = &min; //Error: only parameters or foreach declarations can be ref
[/code]

Right now I am using dmd.2.065.0-rc1.

Looks like it's a bug. A workaround is:

typeof(&min) fprt = &min;

Or just use auto like in your example above.

Reply via email to