On 14/08/12 08:59, Don Clugston wrote:
On 13/08/12 18:47, Dmitry Olshansky wrote:
I seriously consider writing a simple postprocessor for dmd's output.
Once dmd became able to recover from errors and crawl on it started to
produce horrific amounts of redundant text on failure.

Observe for instance that there are only 6 + 2 = 8 lines of interest:

Spurious or repeated error messages should be considered to be bugs.
Please put test cases in Bugzilla. A long time ago, the compiler used to
spew reams of garbage all the time. Now it rarely happens.

Other food for thought is to try to indicate explicitly which errors
are related vs unrelated, which are collateral, like failed template
instantiation that rolls out the whole path of failure (but one have to
read the text carefully to get where it starts).

That's already happening. Supplemental messages don't have the word
'Error' at the start of the error message.

One fairly easy way to solve this, would be that once a template *instantiation* has failed, the template *definition* would be marked as doubtful, and any further instantiation using that definition would have all error messages suppressed. If an error occurred, a single error would be produced stating that the template instantiation failed.

The downside would be that if the template instantiation failed for a completely different reason the second time, its root cause error would not be shown. But this latest release is the only time such errors have been shown anyway.

Reply via email to