On 09/07/2013 07:00 PM, 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
I'm really happy to see this discussed.
The DIP misses to mention one of the most important rationale IMO,
hiding of implementation details.
> http://wiki.dlang.org/DIP47#Semantics
> 7. Outlined member function return types, parameter types, and
function bodies have private access to the module where the aggregate is
declared.
I think this is problematic because it gives up the nice
everything-within-this-file property of private.
Doesn't package access mitigate the need for private access?
What about module scope functions?