diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2016-08-11 17:17:38 +1000 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2016-08-23 15:51:52 -0700 |
commit | 10aa78db5961284e0f4fb2fcb5a1f3bd7c357385 (patch) | |
tree | 925ca61e554816955470f42e3f34a47fc567b0f3 /test/files/neg | |
parent | c12dd768b6ec5db1ee5f9c811129332c8fcec2a6 (diff) | |
download | scala-10aa78db5961284e0f4fb2fcb5a1f3bd7c357385.tar.gz scala-10aa78db5961284e0f4fb2fcb5a1f3bd7c357385.tar.bz2 scala-10aa78db5961284e0f4fb2fcb5a1f3bd7c357385.zip |
Address review comments
- clarify the intent of tests
- Consolidate stripExistentialsAndTypeVars with similar logic in
mergePrefixAndArgs
- Refactor special cases in maybeRewrap
The name isn't great, but I'm struggling to come up with
a pithy way to describe the rogue band of types.
Diffstat (limited to 'test/files/neg')
-rw-r--r-- | test/files/neg/lub-from-hell-2.scala | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/test/files/neg/lub-from-hell-2.scala b/test/files/neg/lub-from-hell-2.scala index 96760c6edf..18c99dfada 100644 --- a/test/files/neg/lub-from-hell-2.scala +++ b/test/files/neg/lub-from-hell-2.scala @@ -4,3 +4,10 @@ class Test { def bar(a: Boolean, b: scala.collection.mutable.SetLike[Any,scala.collection.mutable.Set[Any]], c: scala.collection.mutable.Buffer[Any]) = if (a) b else c // bar produces an ill-bounded LUB in 2.11.8. After this commit, which fixes a bug in existential+refinement lubs, foo also fails. } +// This test case minimizes a case that stated to fail compile after my fixes in SI-5294. +// `foo` used to compile for the wrong reason, `mergePrefixAndArgs` failed to transpose a +// ragged matrix and skipped to the next level of the base type sequences to find a common type symbol. +// +// My changes fixed the root cause of the ragged matrix, which uncovered the latent bug. +// For comparison, `bar` failed to compile before _and_ after my changes for the same reason: +// f-bounded types involved in LUBs can sometimes produce an ill-bounded LUB. |