diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/files/neg/overloaded-implicit.check | 7 | ||||
-rw-r--r-- | test/files/neg/overloaded-implicit.flags | 1 | ||||
-rw-r--r-- | test/files/neg/overloaded-implicit.scala | 17 | ||||
-rw-r--r-- | test/files/pos/bug3688-redux.scala | 8 |
4 files changed, 33 insertions, 0 deletions
diff --git a/test/files/neg/overloaded-implicit.check b/test/files/neg/overloaded-implicit.check new file mode 100644 index 0000000000..bdbe6a89d5 --- /dev/null +++ b/test/files/neg/overloaded-implicit.check @@ -0,0 +1,7 @@ +overloaded-implicit.scala:2: error: parameterized overloaded implicit methods are not visible as view bounds + implicit def imp1[T](x: List[T]): Map[T, T] = Map() + ^ +overloaded-implicit.scala:3: error: parameterized overloaded implicit methods are not visible as view bounds + implicit def imp1[T](x: Set[T]): Map[T, T] = Map() + ^ +two errors found diff --git a/test/files/neg/overloaded-implicit.flags b/test/files/neg/overloaded-implicit.flags new file mode 100644 index 0000000000..85d8eb2ba2 --- /dev/null +++ b/test/files/neg/overloaded-implicit.flags @@ -0,0 +1 @@ +-Xfatal-warnings diff --git a/test/files/neg/overloaded-implicit.scala b/test/files/neg/overloaded-implicit.scala new file mode 100644 index 0000000000..68b1ceaa30 --- /dev/null +++ b/test/files/neg/overloaded-implicit.scala @@ -0,0 +1,17 @@ +object Test { + implicit def imp1[T](x: List[T]): Map[T, T] = Map() + implicit def imp1[T](x: Set[T]): Map[T, T] = Map() + + def f[T <% Map[Int, Int]](x: T): Double = 1.0d + + // not parameterized, no warning + implicit def imp2(x: List[Int]): String = "a" + implicit def imp2(x: Set[Int]): String = "b" + + def g[T <% String](x: T): Double = 2.0d + + def main(args: Array[String]): Unit = { + // println(f(List(1))) + println(g(List(1))) + } +} diff --git a/test/files/pos/bug3688-redux.scala b/test/files/pos/bug3688-redux.scala new file mode 100644 index 0000000000..e601cf240c --- /dev/null +++ b/test/files/pos/bug3688-redux.scala @@ -0,0 +1,8 @@ +import collection.JavaConverters._ +import java.{ util => ju } +import scala.collection.{ mutable, immutable } + +object Test { + def m[P <% AsJava[ju.List[Int]]](l: P) = 1 + m(List(1)) +}
\ No newline at end of file |