new DIP47: Outlining member functions of aggregates
Michel Fortin
michel.fortin at michelf.ca
Mon Sep 9 19:09:51 PDT 2013
On 2013-09-09 00:03:11 +0000, Andrei Alexandrescu
<SeeWebsiteForEmail at erdani.org> said:
> D's module system has always favored a file-granular approach, e.g.
> private stuff is module-private. This notion of spilling private access
> outside the file into methods defined in various other files works
> against that nice tenet.
Is the D module system file-granular or module-granular? I always
thought the later. Putting the implementation of functions in the .d
file while the declarations are in the corresponding .di does not
change things much: it's still one module, but it's one module split
over two files.
It also helps solve another problem: the problem where you're shipping
a library and want to force some things to not be inlined. This is
needed if the library is to be swapped for another version without
having to recompile all client code. You can do this currently by
hand-crafting .di files, but it's a pain to keep it manually in sync
with the .d file.
--
Michel Fortin
michel.fortin at michelf.ca
http://michelf.ca
More information about the Digitalmars-d
mailing list