new DIP47: Outlining member functions of aggregates

Walter Bright newshound2 at digitalmars.com
Sat Sep 7 13:06:17 PDT 2013


On 9/7/2013 12:56 PM, Maxim Fomin wrote:
> 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
>
> Many details were ommited. Just some of them, others were raised.
>
> 1) If you allow to have definition in external module (by the way, this point is
> not clear), how can you control name mangling?

You import the module containing the declaration. Like in C++.


> 2) Does outlining limited only to static functions?

No.

> 3) With UFSC if you have a.foo you cannot know where to found foo(a) - it can be
> hidden in dozens of imports, and if there are public imports, the situation
> becomes even more complex.

??? You find the declaration in the module that declares it. Same as for C++.


More information about the Digitalmars-d mailing list