aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--compiler/test/dotc/scala-collections.blacklist106
-rw-r--r--compiler/test/dotc/scala-collections.whitelist15
2 files changed, 25 insertions, 96 deletions
diff --git a/compiler/test/dotc/scala-collections.blacklist b/compiler/test/dotc/scala-collections.blacklist
index 476d37c17..16bf1fb95 100644
--- a/compiler/test/dotc/scala-collections.blacklist
+++ b/compiler/test/dotc/scala-collections.blacklist
@@ -7,47 +7,8 @@
# (This is intended)
../scala-scala/src/library/scala/collection/generic/ParSetFactory.scala
-
-#../scala-scala/src/library/scala/collection/mutable/DefaultEntry.scala
-# 22 | "(kv: " + key + ", " + value + ")" + (if (next != null) " -> " + next.toString else "")
-# | ^^^^
-# | cyclic reference involving method toString
-# (Fixed by adding type annotation to DefaultEntry)
-
-#../scala-scala/src/library/scala/collection/mutable/LinkedHashMap.scala
-# 102 | protected class FilteredKeys(p: A => Boolean) extends super.FilteredKeys(p) {
-# | ^^^^^^^^^^^^^^^^^^^^
-# | cyclic inheritance: class FilteredKeys extends itself
-# ...
-# (Fixed by rewriring inner class names in LinkedHashMap)
-
-#../scala-scala/src/library/scala/collection/mutable/ObservableMap.scala
-# assertion failed
-
-#../scala-scala/src/library/scala/collection/mutable/ObservableSet.scala
-# 35 | publish(new Include(elem) with Undoable { def undo = -=(elem) })
-# | ^
-# | overriding method undo in trait Undoable of type ()Unit;
-# | method undo of type => scala.collection.mutable.ObservableSet[A] has incompatible type
-
-#../scala-scala/src/library/scala/collection/mutable/SynchronizedQueue.scala
-# 102 | override def toString() = synchronized { super.toString() }
-# | ^^^^^^^^^^^^^^^^
-# | missing argument for parameter index of method apply: (index: Int)Char
-
-#../scala-scala/src/library/scala/collection/mutable/UnrolledBuffer.scala
-# 347 | override def toString = array.take(size).mkString("Unrolled[" + array.length + "](", ", ", ")") + " -> " + (if (next ne null) next.toString else "")
-# | ^^^^
-# | cyclic reference involving method toString
-
-#../scala-scala/src/library/scala/collection/mutable/SynchronizedBuffer.scala
-# assertion failed
-
-../scala-scala/src/library/scala/collection/parallel/mutable/ParArray.scala
-# 648 | class Map[S](f: T => S, targetarr: Array[Any], offset: Int, howmany: Int) extends Task[Unit, Map[S]] {
-# | ^
-# | overriding class Map in trait ParIterableLike;
-# | class Map cannot be used here - class definitions cannot be overridden
+# This gives a deep subtype violation when run with the rest of the whitelist.
+# Works without -Yno-deep-subtypes, though.
../scala-scala/src/library/scala/collection/parallel/mutable/ParMap.scala
# 42 | override def updated [U >: V](key: K, value: U): ParMap[K, U] = this + ((key, value))
@@ -59,67 +20,35 @@
# | ParMap' is a trait in package mutable
-../scala-scala/src/library/scala/collection/parallel/mutable/ResizableParArrayCombiner.scala
-# 91 | new { val chain = c } with ResizableParArrayCombiner[T] // was: with EnvironmentPassingCombiner[T, ParArray[T]]
-# | ^
-# | early definitions are not supported; use trait parameters instead
-
../scala-scala/src/library/scala/collection/parallel/mutable/ParTrieMap.scala
# 136 | it.iterated = this.iterated
# | ^^^^^^^^^^^
# | value `iterated` is not a member of scala.collection.concurrent.TrieMapIterator[K, V](it)
-../scala-scala/src/library/scala/collection/parallel/package.scala
-# 75 | implicit def factory2ops[From, Elem, To](bf: CanBuildFrom[From, Elem, To]) = new FactoryOps[From, Elem, To] {
-# | ^
-# | result type of implicit definition needs to be given explicitly
-
-../scala-scala/src/library/scala/collection/parallel/ParIterable.scala
-# 304 | protected implicit def task2ops[R, Tp](tsk: SSCTask[R, Tp]) = new TaskOps[R, Tp] {
-# | ^
-# | result type of implicit definition needs to be given explicitly
../scala-scala/src/library/scala/collection/parallel/ParIterableLike.scala
-# 324 | protected implicit def delegatedSignalling2ops[PI <: DelegatedSignalling](it: PI) = new SignallingOps[PI] {
-# | ^
-# | result type of implicit definition needs to be given explicitly
+# -Ycheck:classOf fails
../scala-scala/src/library/scala/collection/parallel/ParMap.scala
+# -Yno-deep-subtypes fails
+
../scala-scala/src/library/scala/collection/parallel/ParMapLike.scala
+# -Yno-deep-subtypes fails
../scala-scala/src/library/scala/collection/parallel/ParSeqLike.scala
-# 334 | protected trait Accessor[R, Tp] extends super.Accessor[R, Tp] {
-# | ^^^^^^^^^^^^^^^^^^^^^
-# | cyclic inheritance: trait Accessor extends itself
+# -Ycheck:classOf fails
../scala-scala/src/library/scala/collection/parallel/RemainsIterator.scala
-# 617 | class Zipped[S](ti: SeqSplitter[S]) extends super.Zipped[S](ti) with SeqSplitter[(T, S)] {
-# | ^^^^^^^^^^^^^^^^^^
-# | cyclic inheritance: class Zipped extends itself
-
-../scala-scala/src/library/scala/collection/parallel/Tasks.scala
-# 429 | fjtask.body.result
-# | ^^^^^^^^^^^
-# | value `body` is not a member of ForkJoinTasks.this.WrappedTask[R, Tp](fjtask)
-
-#../scala-scala/src/library/scala/concurrent/Future.scala
-# 188 | implicit val ec = internalExecutor
-# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-# | type of implicit definition needs to be given explicitly
-
-#../scala-scala/src/library/scala/concurrent/SyncChannel.scala
-# 45 | writeReq.get
-# | ^^^^^^^^^^^^
-# | none of the overloaded alternatives of method get in class SyncVar with types
-# | (timeout: Long)Option[Boolean]
-# | => Boolean
-# | match expected type Unit
+# 467 | def dup: IterableSplitter[S] = self.dup map f
+# | ^^^^^^^^^^^^^^
+# | found: scala.collection.Iterator[S]
+# | required: scala.collection.parallel.IterableSplitter[S]
../scala-scala/src/library/scala/concurrent/impl/ExecutionContextImpl.scala
# assertion failed
../scala-scala/src/library/scala/concurrent/package.scala
-# assertion failed
+# -Ycheck:arrayConstructors failure
../scala-scala/src/library/scala/Function1.scala
../scala-scala/src/library/scala/Function2.scala
@@ -144,17 +73,6 @@
../scala-scala/src/library/scala/Function21.scala
../scala-scala/src/library/scala/Function22.scala
-../scala-scala/src/library/scala/io/BufferedSource.scala
-# 38 | override lazy val iter = (
-# | ^
-# | overriding getter iter in class Source of type => collection.Iterator[Char];
-# | lazy value iter of type collection.Iterator[Char] may not override a non-lazy value
-
-../scala-scala/src/library/scala/io/Source.scala
-# 303 | report(pos, msg, out)
-# | ^^^
-# | not found: msg
-
../scala-scala/src/library/scala/reflect/ClassManifestDeprecatedApis.scala
# 51 | import Manifest._
# | ^^^^^^^^
diff --git a/compiler/test/dotc/scala-collections.whitelist b/compiler/test/dotc/scala-collections.whitelist
index 4230af7d1..b1e797dfe 100644
--- a/compiler/test/dotc/scala-collections.whitelist
+++ b/compiler/test/dotc/scala-collections.whitelist
@@ -272,10 +272,9 @@
../scala-scala/src/library/scala/collection/generic/SetFactory.scala
../scala-scala/src/library/scala/collection/generic/ParFactory.scala
-# https://github.com/lampepfl/dotty/issues/974 -> @smarter
../scala-scala/src/library/scala/collection/generic/MutableSortedSetFactory.scala
-# cyclic reference, maybe related to #974 -> @smarter
+# deep subtype
#../scala-scala/src/library/scala/collection/generic/ParSetFactory.scala
../scala-scala/src/library/scala/collection/generic/OrderedTraversableFactory.scala
@@ -423,6 +422,8 @@
../scala-scala/src/library/scala/io/Codec.scala
../scala-scala/src/library/scala/io/Position.scala
../scala-scala/src/library/scala/io/StdIn.scala
+../scala-scala/src/library/scala/io/BufferedSource.scala
+../scala-scala/src/library/scala/io/Source.scala
../scala-scala/src/library/scala/math/BigDecimal.scala
../scala-scala/src/library/scala/math/BigInt.scala
@@ -470,8 +471,15 @@
../scala-scala/src/library/scala/concurrent/SyncChannel.scala
#../scala-scala/src/library/scala/concurrent/impl/ExecutionContextImpl.scala
+../scala-scala/src/library/scala/collection/parallel/package.scala
+../scala-scala/src/library/scala/collection/parallel/ParIterable.scala
+#../scala-scala/src/library/scala/collection/parallel/ParMap.scala
+#../scala-scala/src/library/scala/collection/parallel/ParMapLike.scala
+#../scala-scala/src/library/scala/collection/parallel/ParIterableLike.scala
+#../scala-scala/src/library/scala/collection/parallel/ParSeqLike.scala
../scala-scala/src/library/scala/collection/parallel/Combiner.scala
../scala-scala/src/library/scala/collection/parallel/mutable/LazyCombiner.scala
+../scala-scala/src/library/scala/collection/parallel/mutable/ResizableParArrayCombiner.scala
../scala-scala/src/library/scala/collection/parallel/mutable/package.scala
../scala-scala/src/library/scala/collection/parallel/mutable/ParFlatHashTable.scala
../scala-scala/src/library/scala/collection/parallel/mutable/ParHashMap.scala
@@ -483,12 +491,15 @@
../scala-scala/src/library/scala/collection/parallel/mutable/ParSet.scala
../scala-scala/src/library/scala/collection/parallel/mutable/ParSetLike.scala
../scala-scala/src/library/scala/collection/parallel/mutable/UnrolledParArrayCombiner.scala
+../scala-scala/src/library/scala/collection/parallel/mutable/ParArray.scala
+#../scala-scala/src/library/scala/collection/parallel/mutable/ParMap.scala
../scala-scala/src/library/scala/collection/parallel/ParSeq.scala
../scala-scala/src/library/scala/collection/parallel/ParSet.scala
../scala-scala/src/library/scala/collection/parallel/ParSetLike.scala
../scala-scala/src/library/scala/collection/parallel/PreciseSplitter.scala
../scala-scala/src/library/scala/collection/parallel/Splitter.scala
../scala-scala/src/library/scala/collection/parallel/TaskSupport.scala
+../scala-scala/src/library/scala/collection/parallel/Tasks.scala
../scala-scala/src/library/scala/Console.scala
../scala-scala/src/library/scala/Enumeration.scala