On 29.07.2016 06:52, Jonathan M Davis via Digitalmars-d wrote:
On Friday, July 29, 2016 06:44:16 Timon Gehr via Digitalmars-d wrote:
My parser accepts the following:

int function(int,int)ref functionPointer;

I wasn't really aware that this was illegal in DMD. (Other function
attributes, such as pure, are accepted.)

In fact, even the following is disallowed:
int foo(int)ref{}


Should I file an enhancement request?

Except that ref isn't a function attribute.

Yes it is.

int x;
ref{
    int foo(){ return x;}
}
pragma(msg, typeof(&foo()));


It's an attribute on the return type.

There is no such thing. Types cannot have attributes.

So, it doesn't make sense for it to be on the right. That would be
like having the const on the right-hand side of a member function apply to
the return type rather than the function itself.
...

You have it backwards.

Reply via email to