diff options
Diffstat (limited to 'tests/disabled/structural-type/pos/t3363-new.scala')
-rw-r--r-- | tests/disabled/structural-type/pos/t3363-new.scala | 20 |
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)) + } + + } |