<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2013/11/22 deadalnix <span dir="ltr"><<a href="mailto:deadalnix@gmail.com" target="_blank">deadalnix@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Friday, 22 November 2013 at 04:33:56 UTC, Kenji Hara wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
After removing 'function' concept, 'func' always means function pointer or<br>
delegate. So we cannot call functions without parenthesis anymore. It is<br>
unacceptable change to me, and many D programmers would probably argue same<br>
thing.<br>
<br>
</blockquote>
<br></div>
It removes all ambiguities.<br>
<br>
Optional parentheses are still an option when they aren't ambiguous.<br>
<br>
void foo() {}<br>
<br>
foo; // Can still call foo if we want to.<br>
</blockquote></div><br></div><div class="gmail_extra">It will introduce a new ambiguity. See below example.</div><div class="gmail_extra"><br></div><div class="gmail_extra"><div class="gmail_extra">int foo();</div><div class="gmail_extra">
void test(int function() fp);</div><div class="gmail_extra">void test(int num);</div><div class="gmail_extra"><br></div><div class="gmail_extra">void main() {</div><div class="gmail_extra">    test(foo);  // which test is called?</div>
<div class="gmail_extra">}</div><div><br></div></div><div class="gmail_extra">Kenji Hara</div></div>