Enhancement: issue error on all public functions that are missing ddoc sections
Benjamin Thaut via Digitalmars-d
digitalmars-d at puremagic.com
Sun Mar 22 09:23:47 PDT 2015
Am 22.03.2015 um 04:40 schrieb Martin Nowak:
>
> Why would export make private functions public?
>
Following problem:
// public template
void foo(T)(T arg)
{
bar(T.sizeof);
}
// private implementation helper
private void bar(size_t size) { ... }
Because bar is used from foo, bar has to be exported, thus the
protection level has to be changed from "private" to "export". But
"export" includes "public" so the function bar will now be public as well.
This problem was exessivly discussed here:
http://forum.dlang.org/thread/m9lhc3$1r1v$1@digitalmars.com
The official response from Walter and Andrei was, that they don't want
any language change and symbols that need exporting should just become
public.
But this in turn will mean that tons of currently private helper
functions without documentation will become public and cause errors or
warnings in ddoc.
Kind Regards
Benjamin
More information about the Digitalmars-d
mailing list