diff options
-rw-r--r-- | src/dotty/tools/dotc/typer/Typer.scala | 2 | ||||
-rw-r--r-- | test/dotc/scala-collections.whitelist | 3 | ||||
-rw-r--r-- | tests/pos/bounds.scala | 7 | ||||
-rw-r--r-- | tests/pos/t1279a.scala (renamed from tests/neg/t1279a.scala) | 0 |
4 files changed, 8 insertions, 4 deletions
diff --git a/src/dotty/tools/dotc/typer/Typer.scala b/src/dotty/tools/dotc/typer/Typer.scala index 60ecaac0b..0fa9d1f4e 100644 --- a/src/dotty/tools/dotc/typer/Typer.scala +++ b/src/dotty/tools/dotc/typer/Typer.scala @@ -864,8 +864,6 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit val TypeBoundsTree(lo, hi) = desugar.typeBoundsTree(tree) val lo1 = typed(lo) val hi1 = typed(hi) - if (!(lo1.tpe <:< hi1.tpe)) - ctx.error(d"lower bound ${lo1.tpe} does not conform to upper bound ${hi1.tpe}", tree.pos) assignType(cpy.TypeBoundsTree(tree)(lo1, hi1), lo1, hi1) } diff --git a/test/dotc/scala-collections.whitelist b/test/dotc/scala-collections.whitelist index effefb3cc..205757525 100644 --- a/test/dotc/scala-collections.whitelist +++ b/test/dotc/scala-collections.whitelist @@ -112,8 +112,7 @@ ./scala-scala/src/library/scala/collection/immutable/Iterable.scala ./scala-scala/src/library/scala/collection/immutable/LinearSeq.scala -# https://github.com/lampepfl/dotty/issues/915 -# ./scala-scala/src/library/scala/collection/immutable/List.scala +./scala-scala/src/library/scala/collection/immutable/List.scala ./scala-scala/src/library/scala/collection/immutable/MapProxy.scala ./scala-scala/src/library/scala/collection/immutable/PagedSeq.scala ./scala-scala/src/library/scala/collection/immutable/Queue.scala diff --git a/tests/pos/bounds.scala b/tests/pos/bounds.scala index 26bc84a1b..625359f74 100644 --- a/tests/pos/bounds.scala +++ b/tests/pos/bounds.scala @@ -9,3 +9,10 @@ object ListMap { def empty[X, Y] = new ListMap[X, Y] def apply[A1, B2](elems: Tuple2[A1, B2]*): Map[A1, B2] = empty[A1,B2].++(elems.iterator) } + +class Test[A] { + + def f[B >: A <: AnyRef](x: A): AnyRef = (x: B) + def g[B >: String <: Int](x: B): Int = x + +} diff --git a/tests/neg/t1279a.scala b/tests/pos/t1279a.scala index 6d768d435..6d768d435 100644 --- a/tests/neg/t1279a.scala +++ b/tests/pos/t1279a.scala |