aboutsummaryrefslogtreecommitdiff
path: root/tests/disabled/structural-type/pos/t3363-new.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/disabled/structural-type/pos/t3363-new.scala')
-rw-r--r--tests/disabled/structural-type/pos/t3363-new.scala20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/disabled/structural-type/pos/t3363-new.scala b/tests/disabled/structural-type/pos/t3363-new.scala
new file mode 100644
index 000000000..835d9471b
--- /dev/null
+++ b/tests/disabled/structural-type/pos/t3363-new.scala
@@ -0,0 +1,20 @@
+import scala.reflect.runtime.universe._
+
+object TestCase {
+
+ //now matter if you put (abstract) class or trait it will fail in all cases
+ trait MapOps[T]
+
+ //if fs was reduced to List (generic type with one parameter) then the code compiles
+ //if you inherit from MapOps[T] instead of MapOps[F] then code compiles fine
+ implicit def map2ops[T,F](fs: Map[T,F]): TestCase.MapOps[F]{val m: reflect.runtime.universe.TypeTag[T]; def is(xs: List[T]): List[List[T]]} = new MapOps[F] {
+ //if you remove this line, then code compiles
+ lazy val m: TypeTag[T] = sys.error("just something to make it compile")
+ def is(xs: List[T]) = List(xs)
+ }
+
+ def main(args: Array[String]): Unit = {
+ println(Map(1 -> "2") is List(2))
+ }
+
+ }