[dmd-internals] Unterminated loops in ctfe

Lass Safin via dmd-internals dmd-internals at puremagic.com
Sat Feb 27 11:08:56 PST 2016


Currently, when a function which has an infinite loop gets run at 
compile-time, dmd keeps acquiring more and more resources, 
eventually leading to X11 (I uss Linux) freezing and me having to 
force-close it and then restart it.

A solution to this problem is needed. It's simply ridiculous that 
I have to restart X11 anytime I make such a mistake. Perhaps 
something like a limit to the number of iterations needs to be 
implemented?

Example of unterminated loop in ctfe:
int func() {
     while(true) {}
     return 2;
}

template t() {
     enum int i = func;
}

Thoughts?


More information about the dmd-internals mailing list