July 16, 2014
Recently I had a bug where the compiler got stuck in an infinite loop or something. I managed to bracket it with static if (0) and it turned out that I had intended to declare a template method

auto ref foo (Bar)() {...}

but accidentally left off the function parameters

auto ref foo (Bar) {...}

and dmd never gave an error message, it just kept chugging along till I killed it.

I can't manage to reproduce it in an SSCCE, it was nested inside a few layers of mixins (dumbly layering mixins in an example doesn't reproduce it).

And reducing the code with DustMite depends on the compiler outputting an error message.

Is there anything I can do to produce some information for a meaningful bug report in a situation like this?
July 16, 2014
If you're on linux, you can try Dustmite using timeout command to launch dmd compilation.

On Wednesday, 16 July 2014 at 07:06:12 UTC, Vlad Levenfeld wrote:
> Recently I had a bug where the compiler got stuck in an infinite loop or something. I managed to bracket it with static if (0) and it turned out that I had intended to declare a template method
>
> auto ref foo (Bar)() {...}
>
> but accidentally left off the function parameters
>
> auto ref foo (Bar) {...}
>
> and dmd never gave an error message, it just kept chugging along till I killed it.
>
> I can't manage to reproduce it in an SSCCE, it was nested inside a few layers of mixins (dumbly layering mixins in an example doesn't reproduce it).
>
> And reducing the code with DustMite depends on the compiler outputting an error message.
>
> Is there anything I can do to produce some information for a meaningful bug report in a situation like this?