On Thursday, 26 June 2014 at 09:19:05 UTC, bearophile wrote:
Walter Bright:
It's an interesting list, and an opportunity for D. I once
said that my job was to put Coverity out of business. The more
of these issues D can automatically prevent with @safe, the
better.
One kind of problem left is to avoid stack overflows. I have
had several such cases in my D code (perhaps because I use
fixed-sized arrays a lot).
I think they can be caused by:
1) Too much large allocations in stack frames;
If generated by the compiler, they be made @safe
2) By alloca();
it is @system
3) By recursion and co-recursion chains;
We should have a page reserved at the end of the stack so we can
throw when reaching it. The compiler can ensure we don't bypass
it in case 1.