new DIP47: Outlining member functions of aggregates

Brian Schott briancschott at gmail.com
Sat Sep 7 22:55:02 PDT 2013


On Saturday, 7 September 2013 at 17:00:08 UTC, Walter Bright 
wrote:
> Outlining of member functions is the practice of placing the 
> declaration of a member function in the struct/class/union, and 
> placing the definition of it at global scope in the module or 
> even in another module.
>
> http://wiki.dlang.org/DIP47

"Parameter names need not match."

I can't wait to implement a static code analysis rule that yells 
at people for not having them match.

"If there is a default parameter value, it may only appear in the 
member function declaration."

Shouldn't they match?


"@safe/@trusted/@system, private/package/public/export access, 
linkage and storage classes are as set in the declaration, 
overriding any in effect for the definition."

Again. Someone will create a static code analysis tool that warns 
about this. Why allow it in the language?


More information about the Digitalmars-d mailing list