scala/scala — pull request #747 by Blaisorblade (2012-06-19 09:08:39+00:00)
Title: Address/workaround issue SI-3452 and related problems, try #2

Workaround issue SI-3452 (1) and fix some of the underlying bugs (2).
(1) To workaround SI-3452, enable by default a warning (which was enabled by -Ycheck:genjvm) which omits faulty generic signatures. This was part of the previous pull request and nobody objected.
(2) Address some of the underlying bugs, by changing some generated generic signatures (which were incorrect before): one is a problem with intersection types (see 34d8f03007e849f8600a479fe6ae41e1cb4153f6), the other a false mismatch between `Nothing` and `Nothing$`.
Note that Paul Phillips had objections originally to how I solved the intersection types problem, and did not comment on it later: since the new behavior for generic signatures is simply coherent with the behavior of erasure, this should not be a problem.
(3) Reenable -Xverify and update its docs.

Some "related" cleanups are also included.

This pull request supersedes https://github.com/scala/scala/pull/584, which was described in:
https://issues.scala-lang.org/browse/SI-3452?focusedCommentId=57712#comment-57712

Review by @magarciaEPFL
Review by @gkossakowski