On 09/14/2014 01:21 AM, Peter Alexander wrote:
On Saturday, 13 September 2014 at 22:25:57 UTC, Walter Bright wrote:
Yeah, well, we have many years of experience with "static if" and no
apocalypse has yet happened.

Well, we are yet to define "static if" when it comes to tricky cases,
i.e. cases where static ifs and mixins have interdependencies.

http://wiki.dlang.org/DIP31

Would be good to have a resolution on this.

Note that DIP31 is quite weak because 'order of appearance in the source' is not well-defined for constructs appearing in files that cyclically import each other and the 'poison mode' is IMO enabled too often.

However, I get quite promising results using explicit dependency tracking, running analysis until it is stuck on symbol lookup and then poisoning the symbols in the topmost strongly connected component of the dependency graph. I still need to find a good way to make nested template instantiation fast enough with this approach though.

Reply via email to