Description
The revision system lets compiletest
encode different sets of errors for different invocations of the compiler.
and compiletest
normally attempts to catch cases where you left out expected error messages by saying "if you have any //~ ERROR ...
annotation in your file, then the set of such annotations needs to match the same set of errors that are actually emitted.
However, if you combine these features, then for each revision (call it rev
) in the revisions list, at least one of your errors currently need to be written with the revision system in mind, e.g. //[rev]~ ERROR ...
If none of the error annotations include a revision (i.e., if they are all //~ ERROR ...
), then compiletest
thinks that the test has no error annotations, and thus treats it as a case where the compiler's error output is blindly accepted.
That seems bad.