http://d.puremagic.com/issues/show_bug.cgi?id=11284
--- Comment #6 from Dicebot <[email protected]> 2013-10-18 17:44:14 PDT --- (In reply to comment #5) > One way to improve the situation a little that I think doesn't require > compiler > changes is to add a "private": > > private int foo(int x) { return x ^^ 2; } > > If this "foo" is used only at compile-time inside the module, then perhaps it > should not appear in the module object. Unfortunately, it is not that simple. First, it may break existing code as currently it has external linkage and can be used from C modules. Second, some private symbols may actually leak outside of the module via public aliases and function parameters / return values. This is partially explained here: http://wiki.dlang.org/Access_specifiers_and_visibility http://wiki.dlang.org/DIP22.1 What is more important, though, is that templates and CTFE functions are rarely used in the same module they are declared. I have several ideas for more efficient design that can fix this but all contain breaking changes when it comes to separate compilation (in absence of whole program optimization at least). -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
