diff options
author | Martin Odersky <odersky@gmail.com> | 2015-06-07 18:26:43 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-06-07 18:26:53 +0200 |
commit | 5733fdbd3ed3e8036992ee690bbd8270a36471a2 (patch) | |
tree | f5e86a799c19feed6a7d7c4efd7e9b23ee5ebaae /tests/disabled/t2503.scala | |
parent | cb2d81df7ef98e79874bf74227045a64ce86e75f (diff) | |
download | dotty-5733fdbd3ed3e8036992ee690bbd8270a36471a2.tar.gz dotty-5733fdbd3ed3e8036992ee690bbd8270a36471a2.tar.bz2 dotty-5733fdbd3ed3e8036992ee690bbd8270a36471a2.zip |
Fix mergeDenot one more time.
It's easy to get this wrong. What happened was that when
computing deferred members of a class a deferred member
was preferred over a concrete one because the types did not match.
Thsi should not happen. We now change the scheme to always
prefer concrete over abstract, and subclass-owned over superclass-owned.
But we pick a denotation only if the overrides relationship on types
coincides with the preference on symbols.
Diffstat (limited to 'tests/disabled/t2503.scala')
-rwxr-xr-x | tests/disabled/t2503.scala | 19 |
1 files changed, 0 insertions, 19 deletions
diff --git a/tests/disabled/t2503.scala b/tests/disabled/t2503.scala deleted file mode 100755 index d0983f2ca..000000000 --- a/tests/disabled/t2503.scala +++ /dev/null @@ -1,19 +0,0 @@ -import scala.collection.mutable._ - -trait SB[A] extends Buffer[A] { - - import collection.Traversable - - abstract override def insertAll(n: Int, iter: Traversable[A]): Unit = synchronized { - super.insertAll(n, iter) - } - - abstract override def update(n: Int, newelem: A): Unit = synchronized { - super.update(n, newelem) - } -} - -object Test extends dotty.runtime.LegacyApp { - new ArrayBuffer[Int] with SB[Int] -} - |