From 2.069, dmd code base is switched to D. But today, a released dmd is compiled with -release switch. It means, the built dmd binary no longer contain any asserts. By that, all internal errors in front end no longer reported. Actually it would hide some serious regressions. See issue 15961 as a real example.
https://github.com/dlang/dmd/pull/5716
Can someone confirm that this is not true anymore ?
It's still true.
I've noticed a couple of times in the past months that some cases of "accept-invalid" bug reports were actually leading to ICE (due to assert) when tested with the debug built. Maybe that really important `assert()` should be turned into ICE using a dedicated function which would itself call `fatal()`. This looks easy at first glance but what would have to be refactored or not is something that should be verified, otherwise it's the same as to stop using "-release" for official binaries.
*** This issue has been marked as a duplicate of issue 20457 ***