You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I think the problem lies in the isDependentMethodType method in class Type, but I may be wrong:
$ scala
Welcome to Scala2.11.8-20150821-135328-f8a6d21a49 (JavaHotSpot(TM) 64-BitServerVM, Java1.7.0_80).
Type in expressions for evaluation. Ortry:help.
scala>traitCtx {
|traitTree| }
defined traitCtx
scala>traitLst[+A] {
|defzip[A1>:A, B](that: Lst[B]):Nothing| }
defined traitLst
scala>objectTest {
|deffoo1(c: Ctx)(l: Lst[c.Tree]) = l zip l
|deffoo2[T](c: Ctx)(l: Lst[c.Tree])(t: T) = l zip l
| }
defined objectTest
scala>importscala.reflect.runtime.universe._importscala.reflect.runtime.universe._
scala> typeTag[Test.type].tpe.member(TermName("foo1")).info.asInstanceOf[scala.reflect.internal.Types#Type].isDependentMethodType
res0:Boolean=true
scala> typeTag[Test.type].tpe.member(TermName("foo2")).info.asInstanceOf[scala.reflect.internal.Types#Type].isDependentMethodType
res1:Boolean=false
The text was updated successfully, but these errors were encountered:
Following up on #6443 and #9442, is seems the uncurry erasure is quite picky:
So, depending on whether you have a type parameter, it decides to erase or not:
I think the problem lies in the isDependentMethodType method in class Type, but I may be wrong:
The text was updated successfully, but these errors were encountered: