On Wed, 29 Aug 2012, Timon Gehr wrote: > On 08/29/2012 01:26 AM, David wrote: > > > Use this to create a minimal test case with minimal user interaction: > > > https://github.com/CyberShadow/DustMite > > > > Doesn't help if dmd doesn't crash, or? > > > > It doesn't help a lot if compilation succeeds, but you stated that you > generally tend to ignore dmd bugs. Most dmd bugs make compilation fail.
It's more generally useful than that. It can reduce for any set of commands that together produce a binary decision: pass or fail. The key problem is that it does need to be deterministic. It doesn't matter if it's dmd that fails, or an execution of the output code, or really anything that determines pass or fail. The basic pattern is: while (progress can be made) try a reduction if reduction still reproduces the error continue else revert done (it's obviously more complex and there's tons of magic inside try a reduction)