On 7/14/17 6:43 AM, Mike Parker wrote:
DIP 1011 is titled "extern(delegate)".
https://github.com/dlang/DIPs/blob/master/DIPs/DIP1011.md
All review-related feedback on and discussion of the DIP should occur in
this thread. The review period will end at 11:59 PM ET on July 28 (3:59
AM GMT July 29), or when I make a post declaring it complete.
At the end of Round 1, if further review is deemed necessary, the DIP
will be scheduled for another round. Otherwise, it will be queued for
the formal review and evaluation by the language authors.
Thanks in advance to all who participate.
Destroy!
It seems reasonable.
One concern I have is this:
extern(delegate) ref int foo(ref int x) { return x; }
int x;
auto dg = &x.foo; // is dg an int * or a delegate?
Currently, this means the former. I'm concerned about ambiguities and
how to resolve them if all of a sudden someone decides it's a good idea
to change their functions to extern(delegate), and code like this
silently switches over. Or someone tries to form a delegate from one of
these, but instead ends up calling the function instead.
-Steve