I like overall approach and think it really should be rule of a thumb for designing D features - defining simple bullet-proof semantics and making conclusions from it. As opposed to syntax-based special case coverage.

What I do find lacking in this DIP:

1) "Optional parentheses" part needs detailed description why exactly those cases have special handling and how are they different from others. Also looks like example code has errors there, for example, function that has no return statement and uint return type.

2) If you want to prohibit functions having an address, you need a section explaining communication with C in details in regard to passing function pointers.

3) It really needs a broad overview of semantic changes in common use cases and code breakage list.

Reply via email to