Cryptic bug for DMD v2.087.x
FeepingCreature
feepingcreature at gmail.com
Tue Aug 13 05:50:23 UTC 2019
On Monday, 12 August 2019 at 12:17:00 UTC, Seb wrote:
> FYI DustMite has been created _exactly_ for this purpose. It's
> even bundled with the official DMD releases.
>
> https://github.com/CyberShadow/DustMite/wiki
>
>
> 1) Copy all project sources in fresh directory
> 2) Run dustmite with a tester to check whether the bug can
> still be observed.
> Here:
>
> ---
> dustmite fresh-dir 'dmd -O (your normal invocation) 2>&1 | grep
> -qF "tym = 14"'
> ---
I should do a proper blogpost on the Dustmite methodology I use
at some point. Maybe a ten minute dconf talk next year. But
basically, you make a source folder, call it, say, fresh-dir-1.
Make a repro script, repro-1.sh. Run dustmite to completion. This
creates fresh-dir-1.reduced. Then this folder is *immediately*
copied to "fresh-dir-2", the script to repro-2.sh, and the
process is repeated from start.
The reason for this is usually Dustmite doesn't quite manage to
finish the reduction on its own and needs some help to get
nontrivial reductions like inlining template parameters. Or
sometimes you want to reduce the main program first, and only
then add in external libraries or Phobos modules. But it's easy,
and has happened to me lots of times, to accidentally destroy the
reduction that way, especially if it spans multiple files. By
copying the reduced folder, we ensure we are working in a clean
folder and never have to waste time rerunning the previous
reduction.
More information about the Digitalmars-d
mailing list