[dmd-beta] D2 2.058 beta

Walter Bright walter at digitalmars.com
Fri Feb 10 10:49:05 PST 2012



On 2/10/2012 8:59 AM, Masahiro Nakagawa wrote:
> Following code works on dmd 2.057, but causing segmentation fault on dmd 2.058 
> beta.
>
> -----
> struct S
> {
>     void foo(V)(in V v)
>     {
>     }
>
>     void foo(Args...)(auto ref const Args args)
>     {
>         foreach (i, T; Args)
>             foo(args[i]);
>     }
> }
>
> void main()
> {
>     S s;
>     s.foo(10);
> }
> ----
>
> Does anyone report this issue?
> This bug is critical for my msgpack-d and related libraries.
>

This compiles for me without error. When it runs, I get a stack overflow. The 
reason looks clear - foo(Args) is recursively calling itself. I don't think it's 
a bug in dmd.


More information about the dmd-beta mailing list