Scala Programming Language
  1. Scala Programming Language
  2. SI-2038

Handle BoundedWildcardType in Erasure (or don't emit it earlier)

    Details

      Description

      It's a little more complicated than the title suggests, could not think of a better name. Searched trac and could not find any duplicates.

      The compiler crashes with both 2.7.4 and nightly build 2.8.0r17986

      In any case here is the code:

      object TypedConverter {
        def apply[A,B](from : Class[A], to : Class[B])(convert : (A)=>B) = {
          new TypedConverter[A,B](from, to, convert)
        }
      }
      
      class TypedConverter[A,B](val from : Class[A], val to : Class[B], val convert : (A)=>B) {
      }
      
      object StandardConverters {
        
        //Gets the combinationr2 of a list
        //that is for the list [1,2,3] -> [(1,2),(1,3),(2,3)]
        //Not at all efficient!
        final def comb2[A](xs : List[A]) : List[(A,A)] = {
          xs match {
            case Nil => Nil
            case x::Nil => Nil
            case x::xs => xs.map(y=>(x,y)):::comb2(xs)
          }
        }
      
        
        val ints = comb2(List(java.lang.Integer.TYPE, classOf[java.lang.Integer], classOf[Int])).map {
          case (f: Class[a],t: Class[b]) =>
            //CRASHES THE COMPILER!
            TypedConverter(f,t){x: a => t.cast(x)}
          }
      }
      

      Here is the 2.8.0 explosion trace (props to showing more than the stack trace, makes it easier to find & work around the problem in large scala projects when you aren't very sure which file is causing the crash)

      exception when typing comb2(List(java.lang.Integer.TYPE, classOf[java.lang.Integer], classOf[Int])).map(<empty> match {
        case scala.Tuple2((f @ _), (t @ _)) => TypedConverter(f, t)((t.cast: (() => <empty>)))
      }), pt = ?
      exception when typing final object StandardConverters extends scala.ScalaObject {
        def this() = {
          super.<init>();
          ()
        };
        final def comb2[A >: Nothing <: Any](xs: List[A]): List[(A, A)] = xs match {
          case Nil => Nil
          case $$colon$$colon((x @ _), Nil) => Nil
          case $$colon$$colon((x @ _), (xs @ _)) => {
            <synthetic> val x$$1 = xs.map(((y) => scala.Tuple2(x, y)));
            comb2(xs).$$colon$$colon$$colon(x$$1)
          }
        };
        private[this] val ints = comb2(List(java.lang.Integer.TYPE, classOf[java.lang.Integer], classOf[Int])).map(<empty> match {
          case scala.Tuple2((f @ _), (t @ _)) => TypedConverter(f, t)((t.cast: (() => <empty>)))
        })
      }, pt = ?
      exception when typing package <empty> {
        final object TypedConverter extends scala.ScalaObject {
          def this(): object TypedConverter = {
            TypedConverter.super.this();
            ()
          };
          def apply[A >: Nothing <: Any, B >: Nothing <: Any](from: Class[A], to: Class[B])(convert: _root_.scala.Function1[A, B]): TypedConverter[A,B] = new TypedConverter[A, B](from, to, convert)
        };
        class TypedConverter[A >: Nothing <: Any, B >: Nothing <: Any] extends scala.ScalaObject {
          <paramaccessor> private[this] val from: Class[A] = _;
          <paramaccessor> private[this] val to: Class[B] = _;
          <paramaccessor> private[this] val convert: (A) => B = _;
          def this(from: Class[A], to: Class[B], convert: _root_.scala.Function1[A, B]): TypedConverter[A,B] = {
            TypedConverter.super.this();
            ()
          };
          <empty>
        };
        final object StandardConverters extends scala.ScalaObject {
          def this() = {
            super.<init>();
            ()
          };
          final def comb2[A >: Nothing <: Any](xs: List[A]): List[(A, A)] = xs match {
            case Nil => Nil
            case $$colon$$colon((x @ _), Nil) => Nil
            case $$colon$$colon((x @ _), (xs @ _)) => {
              <synthetic> val x$$1 = xs.map(((y) => scala.Tuple2(x, y)));
              comb2(xs).$$colon$$colon$$colon(x$$1)
            }
          };
          private[this] val ints = comb2(List(java.lang.Integer.TYPE, classOf[java.lang.Integer], classOf[Int])).map(<empty> match {
            case scala.Tuple2((f @ _), (t @ _)) => TypedConverter(f, t)((t.cast: (() => <empty>)))
          })
        }
      }, pt = ?
      Exception in thread "main" java.lang.AssertionError: assertion failed: type _1
      	at scala.Predef$$.assert(Predef.scala:97)
      	at scala.tools.nsc.symtab.Symbols$$Symbol.fullNameString(Symbols.scala:1395)
      	at scala.tools.nsc.symtab.Symbols$$Symbol.fullNameString(Symbols.scala:1405)
      	at scala.tools.nsc.symtab.Types$$TypeRef.safeToString(Types.scala:1586)
      	at scala.tools.nsc.symtab.Types$$Type.toString(Types.scala:820)
      	at java.lang.String.valueOf(String.java:2826)
      	at scala.collection.mutable.StringBuilder.append(StringBuilder.scala:247)
      	at scala.collection.generic.TraversableTemplate$$$$anonfun$$addString$$1.apply(TraversableTemplate.scala:744)
      	at scala.collection.generic.TraversableTemplate$$$$anonfun$$addString$$1.apply(TraversableTemplate.scala:741)
      	at scala.collection.generic.LinearSequenceTemplate$$class.foreach(LinearSequenceTemplate.scala:81)
      	at scala.collection.immutable.List.foreach(List.scala:26)
      	at scala.collection.generic.TraversableTemplate$$class.addString(TraversableTemplate.scala:741)
      	at scala.collection.immutable.List.addString(List.scala:26)
      	at scala.collection.generic.TraversableTemplate$$class.mkString(TraversableTemplate.scala:713)
      	at scala.collection.immutable.List.mkString(List.scala:26)
      	at scala.tools.nsc.symtab.Types$$TypeRef.safeToString(Types.scala:1592)
      	at scala.tools.nsc.symtab.Types$$Type.toString(Types.scala:820)
      	at java.lang.String.valueOf(String.java:2826)
      	at scala.collection.mutable.StringBuilder.append(StringBuilder.scala:247)
      	at scala.collection.generic.TraversableTemplate$$$$anonfun$$addString$$1.apply(TraversableTemplate.scala:744)
      	at scala.collection.generic.TraversableTemplate$$$$anonfun$$addString$$1.apply(TraversableTemplate.scala:741)
      	at scala.collection.generic.LinearSequenceTemplate$$class.foreach(LinearSequenceTemplate.scala:81)
      	at scala.collection.immutable.List.foreach(List.scala:26)
      	at scala.collection.generic.TraversableTemplate$$class.addString(TraversableTemplate.scala:741)
      	at scala.collection.immutable.List.addString(List.scala:26)
      	at scala.collection.generic.TraversableTemplate$$class.mkString(TraversableTemplate.scala:713)
      	at scala.collection.immutable.List.mkString(List.scala:26)
      	at scala.collection.generic.TraversableTemplate$$class.toString(TraversableTemplate.scala:760)
      	at scala.collection.generic.SequenceTemplate$$class.toString(SequenceTemplate.scala:488)
      	at scala.collection.immutable.List.toString(List.scala:26)
      	at java.lang.String.valueOf(String.java:2826)
      	at scala.collection.mutable.StringBuilder.append(StringBuilder.scala:247)
      	at scala.collection.mutable.LinkedHashMap$$$$anonfun$$tableString$$1.apply(LinkedHashMap.scala:144)
      	at scala.collection.mutable.LinkedHashMap$$$$anonfun$$tableString$$1.apply(LinkedHashMap.scala:140)
      	at scala.Range.foreach(Range.scala:171)
      	at scala.collection.mutable.LinkedHashMap.tableString(LinkedHashMap.scala:140)
      	at scala.collection.mutable.LinkedHashMap.resize(LinkedHashMap.scala:119)
      	at scala.collection.mutable.HashTable$$class.addEntry(HashTable.scala:83)
      	at scala.collection.mutable.LinkedHashMap.addEntry(LinkedHashMap.scala:29)
      	at scala.collection.mutable.LinkedHashMap.put(LinkedHashMap.scala:51)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch.addType$$1(Implicits.scala:522)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch.getParts$$1(Implicits.scala:531)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch$$$$anonfun$$getParts$$1$$1.apply(Implicits.scala:533)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch$$$$anonfun$$getParts$$1$$1.apply(Implicits.scala:532)
      	at scala.collection.generic.LinearSequenceTemplate$$class.foreach(LinearSequenceTemplate.scala:81)
      	at scala.collection.immutable.List.foreach(List.scala:26)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch.getParts$$1(Implicits.scala:532)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch$$$$anonfun$$getParts$$1$$1.apply(Implicits.scala:533)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch$$$$anonfun$$getParts$$1$$1.apply(Implicits.scala:532)
      	at scala.collection.generic.LinearSequenceTemplate$$class.foreach(LinearSequenceTemplate.scala:81)
      	at scala.collection.immutable.List.foreach(List.scala:26)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch.getParts$$1(Implicits.scala:532)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch$$$$anonfun$$getParts$$1$$1.apply(Implicits.scala:533)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch$$$$anonfun$$getParts$$1$$1.apply(Implicits.scala:532)
      	at scala.collection.generic.LinearSequenceTemplate$$class.foreach(LinearSequenceTemplate.scala:81)
      	at scala.collection.immutable.List.foreach(List.scala:26)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch.getParts$$1(Implicits.scala:532)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch$$$$anonfun$$getParts$$1$$1.apply(Implicits.scala:533)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch$$$$anonfun$$getParts$$1$$1.apply(Implicits.scala:532)
      	at scala.collection.generic.LinearSequenceTemplate$$class.foreach(LinearSequenceTemplate.scala:81)
      	at scala.collection.immutable.List.foreach(List.scala:26)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch.getParts$$1(Implicits.scala:532)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch$$$$anonfun$$getParts$$1$$1.apply(Implicits.scala:533)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch$$$$anonfun$$getParts$$1$$1.apply(Implicits.scala:532)
      	at scala.collection.generic.LinearSequenceTemplate$$class.foreach(LinearSequenceTemplate.scala:81)
      	at scala.collection.immutable.List.foreach(List.scala:26)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch.getParts$$1(Implicits.scala:532)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch$$$$anonfun$$getParts$$1$$1.apply(Implicits.scala:533)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch$$$$anonfun$$getParts$$1$$1.apply(Implicits.scala:532)
      	at scala.collection.generic.LinearSequenceTemplate$$class.foreach(LinearSequenceTemplate.scala:81)
      	at scala.collection.immutable.List.foreach(List.scala:26)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch.getParts$$1(Implicits.scala:532)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch$$$$anonfun$$getParts$$1$$2.apply(Implicits.scala:535)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch$$$$anonfun$$getParts$$1$$2.apply(Implicits.scala:535)
      	at scala.collection.generic.LinearSequenceTemplate$$class.foreach(LinearSequenceTemplate.scala:81)
      	at scala.collection.immutable.List.foreach(List.scala:26)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch.getParts$$1(Implicits.scala:535)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch.parts(Implicits.scala:565)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch.implicitsOfExpectedType(Implicits.scala:574)
      	at scala.tools.nsc.typechecker.Implicits$$ImplicitSearch.<init>(Implicits.scala:662)
      	at scala.tools.nsc.typechecker.Implicits$$class.inferImplicit(Implicits.scala:59)
      	at scala.tools.nsc.Global$$analyzer$$.inferImplicit(Global.scala:329)
      	at scala.tools.nsc.typechecker.Typers$$Typer.implicitArg$$1(Typers.scala:180)
      	at scala.tools.nsc.typechecker.Typers$$Typer$$$$anonfun$$2.apply(Typers.scala:185)
      	at scala.tools.nsc.typechecker.Typers$$Typer$$$$anonfun$$2.apply(Typers.scala:185)
      	at scala.collection.generic.TraversableTemplate$$$$anonfun$$map$$1.apply(TraversableTemplate.scala:153)
      	at scala.collection.generic.TraversableTemplate$$$$anonfun$$map$$1.apply(TraversableTemplate.scala:153)
      	at scala.collection.generic.LinearSequenceTemplate$$class.foreach(LinearSequenceTemplate.scala:81)
      	at scala.collection.immutable.List.foreach(List.scala:26)
      	at scala.collection.generic.TraversableTemplate$$class.map(TraversableTemplate.scala:153)
      	at scala.collection.immutable.List.map(List.scala:26)
      	at scala.tools.nsc.typechecker.Typers$$Typer.applyImplicitArgs(Typers.scala:185)
      	at scala.tools.nsc.typechecker.Typers$$Typer.adapt(Typers.scala:779)
      	at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:3750)
      	at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:3798)
      	at scala.tools.nsc.typechecker.Typers$$Typer.computeType(Typers.scala:3849)
      	at scala.tools.nsc.typechecker.Namers$$Namer.typeSig(Namers.scala:1099)
      	at scala.tools.nsc.typechecker.Namers$$Namer$$$$anonfun$$typeCompleter$$1.apply(Namers.scala:451)
      	at scala.tools.nsc.typechecker.Namers$$Namer$$$$anonfun$$typeCompleter$$1.apply(Namers.scala:449)
      	at scala.tools.nsc.typechecker.Namers$$$$anon$$1.complete(Namers.scala:1246)
      	at scala.tools.nsc.symtab.Symbols$$Symbol.info(Symbols.scala:688)
      	at scala.tools.nsc.symtab.Symbols$$Symbol.initialize(Symbols.scala:797)
      	at scala.tools.nsc.typechecker.Typers$$Typer.addGetterSetter(Typers.scala:1258)
      	at scala.tools.nsc.typechecker.Typers$$Typer$$$$anonfun$$11.apply(Typers.scala:1342)
      	at scala.tools.nsc.typechecker.Typers$$Typer$$$$anonfun$$11.apply(Typers.scala:1342)
      	at scala.collection.generic.TraversableTemplate$$$$anonfun$$flatMap$$1.apply(TraversableTemplate.scala:164)
      	at scala.collection.generic.TraversableTemplate$$$$anonfun$$flatMap$$1.apply(TraversableTemplate.scala:164)
      	at scala.collection.generic.LinearSequenceTemplate$$class.foreach(LinearSequenceTemplate.scala:81)
      	at scala.collection.immutable.List.foreach(List.scala:26)
      	at scala.collection.generic.TraversableTemplate$$class.flatMap(TraversableTemplate.scala:164)
      	at scala.collection.immutable.List.flatMap(List.scala:26)
      	at scala.tools.nsc.typechecker.Typers$$Typer.typedTemplate(Typers.scala:1342)
      	at scala.tools.nsc.typechecker.Typers$$Typer.typedModuleDef(Typers.scala:1237)
      	at scala.tools.nsc.typechecker.Typers$$Typer.typed1(Typers.scala:3475)
      	at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:3745)
      	at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:3787)
      	at scala.tools.nsc.typechecker.Typers$$Typer.typedStat$$1(Typers.scala:1758)
      	at scala.tools.nsc.typechecker.Typers$$Typer$$$$anonfun$$21.apply(Typers.scala:1815)
      	at scala.tools.nsc.typechecker.Typers$$Typer$$$$anonfun$$21.apply(Typers.scala:1815)
      	at scala.collection.immutable.List$$.loop$$4(List.scala:714)
      	at scala.collection.immutable.List$$.mapConserve(List.scala:731)
      	at scala.collection.immutable.List$$.loop$$4(List.scala:718)
      	at scala.collection.immutable.List$$.mapConserve(List.scala:731)
      	at scala.collection.immutable.List$$.loop$$4(List.scala:718)
      	at scala.collection.immutable.List$$.mapConserve(List.scala:731)
      	at scala.tools.nsc.typechecker.Typers$$Typer.typedStats(Typers.scala:1815)
      	at scala.tools.nsc.typechecker.Typers$$Typer.typed1(Typers.scala:3468)
      	at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:3745)
      	at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:3787)
      	at scala.tools.nsc.typechecker.Analyzer$$typerFactory$$$$anon$$2.apply(Analyzer.scala:80)
      	at scala.tools.nsc.Global$$GlobalPhase.applyPhase(Global.scala:312)
      	at scala.tools.nsc.typechecker.Analyzer$$typerFactory$$$$anon$$2$$$$anonfun$$run$$1.apply(Analyzer.scala:50)
      	at scala.tools.nsc.typechecker.Analyzer$$typerFactory$$$$anon$$2$$$$anonfun$$run$$1.apply(Analyzer.scala:50)
      	at scala.collection.Iterator$$class.foreach(Iterator.scala:500)
      	at scala.collection.mutable.ListBuffer$$$$anon$$1.foreach(ListBuffer.scala:280)
      	at scala.tools.nsc.typechecker.Analyzer$$typerFactory$$$$anon$$2.run(Analyzer.scala:50)
      	at scala.tools.nsc.Global$$Run.compileSources(Global.scala:772)
      	at scala.tools.nsc.Global$$Run.compile(Global.scala:846)
      	at scala.tools.nsc.Main$$.process(Main.scala:73)
      	at scala.tools.nsc.Main$$.main(Main.scala:87)
      	at scala.tools.nsc.Main.main(Main.scala)
      

      and here is the 2.7.4 trace (in case anyone cares)

      java.lang.Error: Unknown type: ?
      	at scala.tools.nsc.Global.abort(Global.scala:154)
      	at scala.tools.nsc.backend.icode.TypeKinds$$class.toTypeKind(TypeKinds.scala:453)
      	at scala.tools.nsc.backend.icode.ICodes.toTypeKind(ICodes.scala:21)
      	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.gen(GenICode.scala:106)
      	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase$$$$anonfun$$gen$$1.apply(GenICode.scala:71)
      	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase$$$$anonfun$$gen$$1.apply(GenICode.scala:71)
      	at scala.List.foreach(List.scala:834)
      	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.gen(GenICode.scala:71)
      	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.gen(GenICode.scala:136)
      	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.gen(GenICode.scala:90)
      	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase$$$$anonfun$$gen$$1.apply(GenICode.scala:71)
      	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase$$$$anonfun$$gen$$1.apply(GenICode.scala:71)
      	at scala.List.foreach(List.scala:834)
      	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.gen(GenICode.scala:71)
      	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.gen(GenICode.scala:81)
      	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.gen(GenICode.scala:67)
      	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.apply(GenICode.scala:63)
      	at scala.tools.nsc.Global$$GlobalPhase.applyPhase(Global.scala:268)
      	at scala.tools.nsc.Global$$GlobalPhase$$$$anonfun$$run$$1.apply(Global.scala:247)
      	at scala.tools.nsc.Global$$GlobalPhase$$$$anonfun$$run$$1.apply(Global.scala:247)
      	at scala.Iterator$$class.foreach(Iterator.scala:410)
      	at scala.collection.mutable.ListBuffer$$$$anon$$1.foreach(ListBuffer.scala:266)
      	at scala.tools.nsc.Global$$GlobalPhase.run(Global.scala:247)
      	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.run(GenICode.scala:56)
      	at scala.tools.nsc.Global$$Run.compileSources(Global.scala:579)
      	at scala.tools.nsc.Interpreter$$Request.compile(Interpreter.scala:824)
      	at scala.tools.nsc.Interpreter.interpret(Interpreter.scala:505)
      	at org.scalide.processors.ScalaProcessor$$$$anonfun$$1$$InterpWrapper$$1.interpret(ScalaProcessor.scala:39)
      	at org.scalide.processors.ScalaProcessor$$$$anonfun$$1$$$$anonfun$$apply$$2$$$$anonfun$$apply$$1.interpret$$1(ScalaProcessor.scala:99)
      	at org.scalide.processors.ScalaProcessor$$$$anonfun$$1$$$$anonfun$$apply$$2$$$$anonfun$$apply$$1.apply(ScalaProcessor.scala:145)
      	at org.scalide.processors.ScalaProcessor$$$$anonfun$$1$$$$anonfun$$apply$$2$$$$anonfun$$apply$$1.apply(ScalaProcessor.scala:95)
      	at scala.actors.Actor$$class.receive(Actor.scala:436)
      	at scala.actors.Actor$$$$anon$$1.receive(Actor.scala:89)
      	at scala.actors.Actor$$.receive(Actor.scala:144)
      	at org.scalide.processors.ScalaProcessor$$$$anonfun$$1$$$$anonfun$$apply$$2.apply(ScalaProcessor.scala:95)
      	at org.scalide.processors.ScalaProcessor$$$$anonfun$$1$$$$anonfun$$apply$$2.apply(ScalaProcessor.scala:95)
      	at scala.actors.Actor$$class.scala$$actors$$Actor$$$$seq(Actor.scala:798)
      	at scala.actors.Actor$$$$anon$$7.andThen(Actor.scala:252)
      	at scala.actors.Actor$$.loop(Actor.scala:261)
      	at org.scalide.processors.ScalaProcessor$$$$anonfun$$1.apply(ScalaProcessor.scala:94)
      	at org.scalide.processors.ScalaProcessor$$$$anonfun$$1.apply(ScalaProcessor.scala:26)
      	at scala.actors.Actor$$$$anon$$1.act(Actor.scala:90)
      	at scala.actors.Reaction.run(Reaction.scala:76)
      	at scala.actors.Actor$$$$anonfun$$start$$1.apply(Actor.scala:780)
      	at scala.actors.Actor$$$$anonfun$$start$$1.apply(Actor.scala:778)
      	at scala.actors.Scheduler$$$$anon$$3.run(Scheduler.scala:88)
      	at scala.actors.FJTaskRunner.scanWhileIdling(Unknown Source)
      	at scala.actors.FJTaskRunner.run(Unknown Source)
      

        Activity

        Hide
        Philipp Haller added a comment -

        Using trunk (r18077), I get the following stack trace:

        at scala.tools.nsc.Global.abort(Global.scala:188)
        	at scala.tools.nsc.backend.icode.TypeKinds$$class.toTypeKind(TypeKinds.scala:453)
        	at scala.tools.nsc.backend.icode.ICodes.toTypeKind(ICodes.scala:21)
        	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.gen(GenICode.scala:106)
        	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase$$$$anonfun$$gen$$1.apply(GenICode.scala:71)
        	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase$$$$anonfun$$gen$$1.apply(GenICode.scala:71)
        	at scala.collection.generic.LinearSequenceTemplate$$class.foreach(LinearSequenceTemplate.scala:81)
        	at scala.collection.immutable.List.foreach(List.scala:26)
        	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.gen(GenICode.scala:71)
        	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.gen(GenICode.scala:136)
        	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.gen(GenICode.scala:90)
        	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase$$$$anonfun$$gen$$1.apply(GenICode.scala:71)
        	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase$$$$anonfun$$gen$$1.apply(GenICode.scala:71)
        	at scala.collection.generic.LinearSequenceTemplate$$class.foreach(LinearSequenceTemplate.scala:81)
        	at scala.collection.immutable.List.foreach(List.scala:26)
        	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.gen(GenICode.scala:71)
        	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.gen(GenICode.scala:81)
        	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.gen(GenICode.scala:67)
        	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.apply(GenICode.scala:63)
        	at scala.tools.nsc.Global$$GlobalPhase.applyPhase(Global.scala:312)
        	at scala.tools.nsc.Global$$GlobalPhase$$$$anonfun$$run$$1.apply(Global.scala:291)
        	at scala.tools.nsc.Global$$GlobalPhase$$$$anonfun$$run$$1.apply(Global.scala:291)
        	at scala.collection.Iterator$$class.foreach(Iterator.scala:500)
        	at scala.collection.mutable.ListBuffer$$$$anon$$1.foreach(ListBuffer.scala:280)
        	at scala.tools.nsc.Global$$GlobalPhase.run(Global.scala:291)
        	at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.run(GenICode.scala:56)
        	at scala.tools.nsc.Global$$Run.compileSources(Global.scala:780)
        	at scala.tools.nsc.Global$$Run.compile(Global.scala:854)
        	at scala.tools.nsc.Main$$.process(Main.scala:73)
        	at scala.tools.nsc.Main$$.main(Main.scala:87)
        	at scala.tools.nsc.Main.main(Main.scala)
        

        I reassign to Iulian; even if the problem is not in `GenICode`, you might know where it comes from.

        Show
        Philipp Haller added a comment - Using trunk (r18077), I get the following stack trace: at scala.tools.nsc.Global.abort(Global.scala:188) at scala.tools.nsc.backend.icode.TypeKinds$$class.toTypeKind(TypeKinds.scala:453) at scala.tools.nsc.backend.icode.ICodes.toTypeKind(ICodes.scala:21) at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.gen(GenICode.scala:106) at scala.tools.nsc.backend.icode.GenICode$$ICodePhase$$$$anonfun$$gen$$1.apply(GenICode.scala:71) at scala.tools.nsc.backend.icode.GenICode$$ICodePhase$$$$anonfun$$gen$$1.apply(GenICode.scala:71) at scala.collection.generic.LinearSequenceTemplate$$class.foreach(LinearSequenceTemplate.scala:81) at scala.collection.immutable.List.foreach(List.scala:26) at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.gen(GenICode.scala:71) at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.gen(GenICode.scala:136) at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.gen(GenICode.scala:90) at scala.tools.nsc.backend.icode.GenICode$$ICodePhase$$$$anonfun$$gen$$1.apply(GenICode.scala:71) at scala.tools.nsc.backend.icode.GenICode$$ICodePhase$$$$anonfun$$gen$$1.apply(GenICode.scala:71) at scala.collection.generic.LinearSequenceTemplate$$class.foreach(LinearSequenceTemplate.scala:81) at scala.collection.immutable.List.foreach(List.scala:26) at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.gen(GenICode.scala:71) at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.gen(GenICode.scala:81) at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.gen(GenICode.scala:67) at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.apply(GenICode.scala:63) at scala.tools.nsc.Global$$GlobalPhase.applyPhase(Global.scala:312) at scala.tools.nsc.Global$$GlobalPhase$$$$anonfun$$run$$1.apply(Global.scala:291) at scala.tools.nsc.Global$$GlobalPhase$$$$anonfun$$run$$1.apply(Global.scala:291) at scala.collection.Iterator$$class.foreach(Iterator.scala:500) at scala.collection.mutable.ListBuffer$$$$anon$$1.foreach(ListBuffer.scala:280) at scala.tools.nsc.Global$$GlobalPhase.run(Global.scala:291) at scala.tools.nsc.backend.icode.GenICode$$ICodePhase.run(GenICode.scala:56) at scala.tools.nsc.Global$$Run.compileSources(Global.scala:780) at scala.tools.nsc.Global$$Run.compile(Global.scala:854) at scala.tools.nsc.Main$$.process(Main.scala:73) at scala.tools.nsc.Main$$.main(Main.scala:87) at scala.tools.nsc.Main.main(Main.scala) I reassign to Iulian; even if the problem is not in `GenICode`, you might know where it comes from.
        Hide
        Iulian Dragos added a comment -

        This is again a case where the pattern matcher introduces a wildcard type that is not inferred. If you print trees after explicit outer, a temporary and the result of the partial function are '?', the un-inferred wildcard type. Not sure whom to assign it to, but since it happens during pattern matching expansion, Paul is the (temporary) winner.

        Show
        Iulian Dragos added a comment - This is again a case where the pattern matcher introduces a wildcard type that is not inferred. If you print trees after explicit outer, a temporary and the result of the partial function are '?', the un-inferred wildcard type. Not sure whom to assign it to, but since it happens during pattern matching expansion, Paul is the (temporary) winner.
        Hide
        Simon Ochsenreither added a comment -

        This crashes the REPL on 2.9.0.r24394-b20110307020059 with a CCE:

        java.lang.ClassCastException: scala.tools.nsc.symtab.Types$$TypeRef$$$$anon$$6 cannot be cast to scala.tools.nsc.symtab.Types$$TypeBounds
        	at scala.tools.nsc.symtab.Types$$TypeMap.mapOver(Types.scala:3064)
        	at scala.tools.nsc.transform.Erasure$$erasure$$.apply(Erasure.scala:171)
        	at scala.tools.nsc.transform.Erasure$$erasure$$.apply(Erasure.scala:159)
        	at scala.tools.nsc.transform.Erasure.transformInfo(Erasure.scala:421)
        	at scala.tools.nsc.transform.InfoTransform$$Phase$$$$anon$$1.transform(InfoTransform.scala:38)
        	at scala.tools.nsc.symtab.Symbols$$Symbol.rawInfo(Symbols.scala:791)
        	at scala.tools.nsc.symtab.Symbols$$Symbol.info(Symbols.scala:734)
        	at scala.tools.nsc.symtab.Symbols$$Symbol.tpe(Symbols.scala:696)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anonfun$$2.apply$$mcZ$$sp(Erasure.scala:786)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anonfun$$2.apply(Erasure.scala:787)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anonfun$$2.apply(Erasure.scala:787)
        	at scala.tools.nsc.symtab.SymbolTable.atPhase(SymbolTable.scala:96)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer.bridgeDefs(Erasure.scala:785)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer.addBridges(Erasure.scala:848)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.preErase(Erasure.scala:997)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1019)
        	at scala.tools.nsc.ast.Trees$$Transformer.transformTemplate(Trees.scala:861)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:753)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:752)
        	at scala.tools.nsc.ast.Trees$$Transformer.atOwner(Trees.scala:885)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:751)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:877)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:875)
        	at scala.collection.immutable.List.loop$$1(List.scala:117)
        	at scala.collection.immutable.List.mapConserve(List.scala:133)
        	at scala.tools.nsc.ast.Trees$$Transformer.transformStats(Trees.scala:875)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:785)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformTrees$$1.apply(Trees.scala:859)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformTrees$$1.apply(Trees.scala:859)
        	at scala.collection.immutable.List.loop$$1(List.scala:117)
        	at scala.collection.immutable.List.mapConserve(List.scala:133)
        	at scala.tools.nsc.ast.Trees$$Transformer.transformTrees(Trees.scala:859)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:823)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:785)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:807)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:785)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:807)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:785)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:807)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:785)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$5.apply(Trees.scala:769)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$5.apply(Trees.scala:767)
        	at scala.tools.nsc.ast.Trees$$Transformer.atOwner(Trees.scala:885)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:766)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1024)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:877)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:875)
        	at scala.collection.immutable.List.loop$$1(List.scala:117)
        	at scala.collection.immutable.List.mapConserve(List.scala:133)
        	at scala.tools.nsc.ast.Trees$$Transformer.transformStats(Trees.scala:875)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:783)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer.transformTemplate(Trees.scala:861)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:753)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:752)
        	at scala.tools.nsc.ast.Trees$$Transformer.atOwner(Trees.scala:885)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:751)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:877)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:875)
        	at scala.collection.immutable.List.loop$$1(List.scala:117)
        	at scala.collection.immutable.List.mapConserve(List.scala:133)
        	at scala.tools.nsc.ast.Trees$$Transformer.transformStats(Trees.scala:875)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:785)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformTrees$$1.apply(Trees.scala:859)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformTrees$$1.apply(Trees.scala:859)
        	at scala.collection.immutable.List.loop$$1(List.scala:117)
        	at scala.collection.immutable.List.mapConserve(List.scala:133)
        	at scala.tools.nsc.ast.Trees$$Transformer.transformTrees(Trees.scala:859)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:823)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$4.apply(Trees.scala:763)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$4.apply(Trees.scala:762)
        	at scala.tools.nsc.ast.Trees$$Transformer.atOwner(Trees.scala:885)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:761)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:877)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:875)
        	at scala.collection.immutable.List.loop$$1(List.scala:117)
        	at scala.collection.immutable.List.mapConserve(List.scala:133)
        	at scala.tools.nsc.ast.Trees$$Transformer.transformStats(Trees.scala:875)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:783)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer.transformTemplate(Trees.scala:861)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:753)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:752)
        	at scala.tools.nsc.ast.Trees$$Transformer.atOwner(Trees.scala:885)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:751)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:877)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:875)
        	at scala.collection.immutable.List.loop$$1(List.scala:117)
        	at scala.collection.immutable.List.mapConserve(List.scala:133)
        	at scala.tools.nsc.ast.Trees$$Transformer.transformStats(Trees.scala:875)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:783)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer.transformTemplate(Trees.scala:861)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:753)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:752)
        	at scala.tools.nsc.ast.Trees$$Transformer.atOwner(Trees.scala:885)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:751)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:877)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:875)
        	at scala.collection.immutable.List.loop$$1(List.scala:117)
        	at scala.collection.immutable.List.mapConserve(List.scala:133)
        	at scala.tools.nsc.ast.Trees$$Transformer.transformStats(Trees.scala:875)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:783)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer.transformTemplate(Trees.scala:861)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:753)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:752)
        	at scala.tools.nsc.ast.Trees$$Transformer.atOwner(Trees.scala:885)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:751)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:877)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:875)
        	at scala.collection.immutable.List.loop$$1(List.scala:117)
        	at scala.collection.immutable.List.mapConserve(List.scala:133)
        	at scala.tools.nsc.ast.Trees$$Transformer.transformStats(Trees.scala:875)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:783)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer.transformTemplate(Trees.scala:861)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:753)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:752)
        	at scala.tools.nsc.ast.Trees$$Transformer.atOwner(Trees.scala:885)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:751)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:877)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:875)
        	at scala.collection.immutable.List.loop$$1(List.scala:117)
        	at scala.collection.immutable.List.mapConserve(List.scala:133)
        	at scala.tools.nsc.ast.Trees$$Transformer.transformStats(Trees.scala:875)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:783)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer.transformTemplate(Trees.scala:861)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:753)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:752)
        	at scala.tools.nsc.ast.Trees$$Transformer.atOwner(Trees.scala:885)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:751)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:877)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:875)
        	at scala.collection.immutable.List.loop$$1(List.scala:117)
        	at scala.collection.immutable.List.mapConserve(List.scala:133)
        	at scala.tools.nsc.ast.Trees$$Transformer.transformStats(Trees.scala:875)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$1.apply(Trees.scala:747)
        	at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$1.apply(Trees.scala:747)
        	at scala.tools.nsc.ast.Trees$$Transformer.atOwner(Trees.scala:885)
        	at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:746)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028)
        	at scala.tools.nsc.transform.Erasure$$ErasureTransformer.transform(Erasure.scala:1038)
        	at scala.tools.nsc.ast.Trees$$Transformer.transformUnit(Trees.scala:878)
        	at scala.tools.nsc.transform.Transform$$Phase.apply(Transform.scala:30)
        	at scala.tools.nsc.Global$$GlobalPhase$$$$anonfun$$applyPhase$$1.apply(Global.scala:325)
        	at scala.tools.nsc.Global$$GlobalPhase$$$$anonfun$$applyPhase$$1.apply(Global.scala:325)
        	at scala.tools.nsc.reporters.Reporter.withSource(Reporter.scala:47)
        	at scala.tools.nsc.Global$$GlobalPhase.applyPhase(Global.scala:325)
        	at scala.tools.nsc.Global$$GlobalPhase$$$$anonfun$$run$$1.apply(Global.scala:294)
        	at scala.tools.nsc.Global$$GlobalPhase$$$$anonfun$$run$$1.apply(Global.scala:294)
        	at scala.collection.Iterator$$class.foreach(Iterator.scala:646)
        	at scala.collection.mutable.ListBuffer$$$$anon$$1.foreach(ListBuffer.scala:311)
        	at scala.tools.nsc.Global$$GlobalPhase.run(Global.scala:294)
        	at scala.tools.nsc.Global$$Run.compileSources(Global.scala:888)
        	at scala.tools.nsc.interpreter.IMain$$ReadEvalPrint.compileAndSaveRun(IMain.scala:706)
        	at scala.tools.nsc.interpreter.IMain$$ReadEvalPrint.compile(IMain.scala:674)
        	at scala.tools.nsc.interpreter.IMain$$Request.compile(IMain.scala:818)
        	at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:576)
        	at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:542)
        	at scala.tools.nsc.interpreter.ILoop.reallyInterpret$$1(ILoop.scala:669)
        	at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:721)
        	at scala.tools.nsc.interpreter.ILoop.reallyInterpret$$1(ILoop.scala:687)
        	at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:721)
        	at scala.tools.nsc.interpreter.ILoop.reallyInterpret$$1(ILoop.scala:687)
        	at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:721)
        	at scala.tools.nsc.interpreter.ILoop.command(ILoop.scala:554)
        	at scala.tools.nsc.interpreter.ILoop.processLine$$1(ILoop.scala:445)
        	at scala.tools.nsc.interpreter.ILoop.loop(ILoop.scala:452)
        	at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:789)
        	at scala.tools.nsc.interpreter.ILoop.main(ILoop.scala:814)
        	at scala.tools.nsc.MainGenericRunner$$.process(MainGenericRunner.scala:76)
        	at scala.tools.nsc.MainGenericRunner$$.main(MainGenericRunner.scala:32)
        	at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)
        
        Show
        Simon Ochsenreither added a comment - This crashes the REPL on 2.9.0.r24394-b20110307020059 with a CCE: java.lang.ClassCastException: scala.tools.nsc.symtab.Types$$TypeRef$$$$anon$$6 cannot be cast to scala.tools.nsc.symtab.Types$$TypeBounds at scala.tools.nsc.symtab.Types$$TypeMap.mapOver(Types.scala:3064) at scala.tools.nsc.transform.Erasure$$erasure$$.apply(Erasure.scala:171) at scala.tools.nsc.transform.Erasure$$erasure$$.apply(Erasure.scala:159) at scala.tools.nsc.transform.Erasure.transformInfo(Erasure.scala:421) at scala.tools.nsc.transform.InfoTransform$$Phase$$$$anon$$1.transform(InfoTransform.scala:38) at scala.tools.nsc.symtab.Symbols$$Symbol.rawInfo(Symbols.scala:791) at scala.tools.nsc.symtab.Symbols$$Symbol.info(Symbols.scala:734) at scala.tools.nsc.symtab.Symbols$$Symbol.tpe(Symbols.scala:696) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anonfun$$2.apply$$mcZ$$sp(Erasure.scala:786) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anonfun$$2.apply(Erasure.scala:787) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anonfun$$2.apply(Erasure.scala:787) at scala.tools.nsc.symtab.SymbolTable.atPhase(SymbolTable.scala:96) at scala.tools.nsc.transform.Erasure$$ErasureTransformer.bridgeDefs(Erasure.scala:785) at scala.tools.nsc.transform.Erasure$$ErasureTransformer.addBridges(Erasure.scala:848) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.preErase(Erasure.scala:997) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1019) at scala.tools.nsc.ast.Trees$$Transformer.transformTemplate(Trees.scala:861) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:753) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:752) at scala.tools.nsc.ast.Trees$$Transformer.atOwner(Trees.scala:885) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:751) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:877) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:875) at scala.collection.immutable.List.loop$$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.tools.nsc.ast.Trees$$Transformer.transformStats(Trees.scala:875) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:785) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformTrees$$1.apply(Trees.scala:859) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformTrees$$1.apply(Trees.scala:859) at scala.collection.immutable.List.loop$$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.tools.nsc.ast.Trees$$Transformer.transformTrees(Trees.scala:859) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:823) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:785) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:807) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:785) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:807) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:785) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:807) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:785) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$5.apply(Trees.scala:769) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$5.apply(Trees.scala:767) at scala.tools.nsc.ast.Trees$$Transformer.atOwner(Trees.scala:885) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:766) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1024) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:877) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:875) at scala.collection.immutable.List.loop$$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.tools.nsc.ast.Trees$$Transformer.transformStats(Trees.scala:875) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:783) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer.transformTemplate(Trees.scala:861) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:753) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:752) at scala.tools.nsc.ast.Trees$$Transformer.atOwner(Trees.scala:885) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:751) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:877) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:875) at scala.collection.immutable.List.loop$$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.tools.nsc.ast.Trees$$Transformer.transformStats(Trees.scala:875) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:785) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformTrees$$1.apply(Trees.scala:859) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformTrees$$1.apply(Trees.scala:859) at scala.collection.immutable.List.loop$$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.tools.nsc.ast.Trees$$Transformer.transformTrees(Trees.scala:859) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:823) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$4.apply(Trees.scala:763) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$4.apply(Trees.scala:762) at scala.tools.nsc.ast.Trees$$Transformer.atOwner(Trees.scala:885) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:761) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:877) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:875) at scala.collection.immutable.List.loop$$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.tools.nsc.ast.Trees$$Transformer.transformStats(Trees.scala:875) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:783) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer.transformTemplate(Trees.scala:861) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:753) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:752) at scala.tools.nsc.ast.Trees$$Transformer.atOwner(Trees.scala:885) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:751) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:877) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:875) at scala.collection.immutable.List.loop$$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.tools.nsc.ast.Trees$$Transformer.transformStats(Trees.scala:875) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:783) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer.transformTemplate(Trees.scala:861) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:753) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:752) at scala.tools.nsc.ast.Trees$$Transformer.atOwner(Trees.scala:885) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:751) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:877) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:875) at scala.collection.immutable.List.loop$$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.tools.nsc.ast.Trees$$Transformer.transformStats(Trees.scala:875) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:783) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer.transformTemplate(Trees.scala:861) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:753) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:752) at scala.tools.nsc.ast.Trees$$Transformer.atOwner(Trees.scala:885) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:751) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:877) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:875) at scala.collection.immutable.List.loop$$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.tools.nsc.ast.Trees$$Transformer.transformStats(Trees.scala:875) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:783) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer.transformTemplate(Trees.scala:861) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:753) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:752) at scala.tools.nsc.ast.Trees$$Transformer.atOwner(Trees.scala:885) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:751) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:877) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:875) at scala.collection.immutable.List.loop$$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.tools.nsc.ast.Trees$$Transformer.transformStats(Trees.scala:875) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:783) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer.transformTemplate(Trees.scala:861) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:753) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$2.apply(Trees.scala:752) at scala.tools.nsc.ast.Trees$$Transformer.atOwner(Trees.scala:885) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:751) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:877) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:875) at scala.collection.immutable.List.loop$$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.tools.nsc.ast.Trees$$Transformer.transformStats(Trees.scala:875) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$1.apply(Trees.scala:747) at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transform$$1.apply(Trees.scala:747) at scala.tools.nsc.ast.Trees$$Transformer.atOwner(Trees.scala:885) at scala.tools.nsc.ast.Trees$$Transformer.transform(Trees.scala:746) at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anon$$2.transform(Erasure.scala:1028) at scala.tools.nsc.transform.Erasure$$ErasureTransformer.transform(Erasure.scala:1038) at scala.tools.nsc.ast.Trees$$Transformer.transformUnit(Trees.scala:878) at scala.tools.nsc.transform.Transform$$Phase.apply(Transform.scala:30) at scala.tools.nsc.Global$$GlobalPhase$$$$anonfun$$applyPhase$$1.apply(Global.scala:325) at scala.tools.nsc.Global$$GlobalPhase$$$$anonfun$$applyPhase$$1.apply(Global.scala:325) at scala.tools.nsc.reporters.Reporter.withSource(Reporter.scala:47) at scala.tools.nsc.Global$$GlobalPhase.applyPhase(Global.scala:325) at scala.tools.nsc.Global$$GlobalPhase$$$$anonfun$$run$$1.apply(Global.scala:294) at scala.tools.nsc.Global$$GlobalPhase$$$$anonfun$$run$$1.apply(Global.scala:294) at scala.collection.Iterator$$class.foreach(Iterator.scala:646) at scala.collection.mutable.ListBuffer$$$$anon$$1.foreach(ListBuffer.scala:311) at scala.tools.nsc.Global$$GlobalPhase.run(Global.scala:294) at scala.tools.nsc.Global$$Run.compileSources(Global.scala:888) at scala.tools.nsc.interpreter.IMain$$ReadEvalPrint.compileAndSaveRun(IMain.scala:706) at scala.tools.nsc.interpreter.IMain$$ReadEvalPrint.compile(IMain.scala:674) at scala.tools.nsc.interpreter.IMain$$Request.compile(IMain.scala:818) at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:576) at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:542) at scala.tools.nsc.interpreter.ILoop.reallyInterpret$$1(ILoop.scala:669) at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:721) at scala.tools.nsc.interpreter.ILoop.reallyInterpret$$1(ILoop.scala:687) at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:721) at scala.tools.nsc.interpreter.ILoop.reallyInterpret$$1(ILoop.scala:687) at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:721) at scala.tools.nsc.interpreter.ILoop.command(ILoop.scala:554) at scala.tools.nsc.interpreter.ILoop.processLine$$1(ILoop.scala:445) at scala.tools.nsc.interpreter.ILoop.loop(ILoop.scala:452) at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:789) at scala.tools.nsc.interpreter.ILoop.main(ILoop.scala:814) at scala.tools.nsc.MainGenericRunner$$.process(MainGenericRunner.scala:76) at scala.tools.nsc.MainGenericRunner$$.main(MainGenericRunner.scala:32) at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)
        Hide
        Simon Ochsenreither added a comment -

        Updated Stacktrace on 2.10.0.r25228-b20110704020234:

        java.lang.ClassCastException: scala.reflect.internal.Types$UniqueTypeRef cannot be cast to scala.reflect.internal.Types$TypeBounds
        	at scala.reflect.internal.Types$TypeMap.mapOver(Types.scala:3197)
        	at scala.tools.nsc.transform.Erasure$erasure$.apply(Erasure.scala:214)
        	at scala.tools.nsc.transform.Erasure$erasure$.apply(Erasure.scala:202)
        	at scala.tools.nsc.transform.Erasure.transformInfo(Erasure.scala:525)
        	at scala.tools.nsc.transform.InfoTransform$Phase$$anon$1.transform(InfoTransform.scala:38)
        	at scala.reflect.internal.Symbols$Symbol.rawInfo(Symbols.scala:849)
        	at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:792)
        	at scala.reflect.internal.Symbols$Symbol.tpe(Symbols.scala:754)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anonfun$2.apply$mcZ$sp(Erasure.scala:908)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anonfun$2.apply(Erasure.scala:909)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anonfun$2.apply(Erasure.scala:909)
        	at scala.reflect.internal.SymbolTable.atPhase(SymbolTable.scala:91)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer.bridgeDefs(Erasure.scala:907)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer.addBridges(Erasure.scala:970)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.preErase(Erasure.scala:1146)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1168)
        	at scala.reflect.internal.Trees$Transformer.transformTemplate(Trees.scala:1464)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1356)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1355)
        	at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31)
        	at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1354)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1480)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1478)
        	at scala.collection.immutable.List.loop$1(List.scala:117)
        	at scala.collection.immutable.List.mapConserve(List.scala:133)
        	at scala.reflect.internal.Trees$Transformer.transformStats(Trees.scala:1478)
        	at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1388)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transformTrees$1.apply(Trees.scala:1462)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transformTrees$1.apply(Trees.scala:1462)
        	at scala.collection.immutable.List.loop$1(List.scala:117)
        	at scala.collection.immutable.List.mapConserve(List.scala:133)
        	at scala.reflect.internal.Trees$Transformer.transformTrees(Trees.scala:1462)
        	at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1426)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177)
        	at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1388)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177)
        	at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1410)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177)
        	at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1388)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177)
        	at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1410)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177)
        	at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1388)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transform$5.apply(Trees.scala:1372)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transform$5.apply(Trees.scala:1370)
        	at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31)
        	at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1369)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1173)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1480)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1478)
        	at scala.collection.immutable.List.loop$1(List.scala:117)
        	at scala.collection.immutable.List.mapConserve(List.scala:133)
        	at scala.reflect.internal.Trees$Transformer.transformStats(Trees.scala:1478)
        	at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1386)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:49)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49)
        	at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:49)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177)
        	at scala.reflect.internal.Trees$Transformer.transformTemplate(Trees.scala:1464)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1356)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1355)
        	at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31)
        	at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1354)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1480)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1478)
        	at scala.collection.immutable.List.loop$1(List.scala:117)
        	at scala.collection.immutable.List.mapConserve(List.scala:133)
        	at scala.reflect.internal.Trees$Transformer.transformStats(Trees.scala:1478)
        	at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1388)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transformTrees$1.apply(Trees.scala:1462)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transformTrees$1.apply(Trees.scala:1462)
        	at scala.collection.immutable.List.loop$1(List.scala:117)
        	at scala.collection.immutable.List.mapConserve(List.scala:133)
        	at scala.reflect.internal.Trees$Transformer.transformTrees(Trees.scala:1462)
        	at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1426)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transform$4.apply(Trees.scala:1366)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transform$4.apply(Trees.scala:1365)
        	at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31)
        	at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1364)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1480)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1478)
        	at scala.collection.immutable.List.loop$1(List.scala:117)
        	at scala.collection.immutable.List.mapConserve(List.scala:133)
        	at scala.reflect.internal.Trees$Transformer.transformStats(Trees.scala:1478)
        	at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1386)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:49)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49)
        	at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:49)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177)
        	at scala.reflect.internal.Trees$Transformer.transformTemplate(Trees.scala:1464)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1356)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1355)
        	at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31)
        	at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1354)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1480)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1478)
        	at scala.collection.immutable.List.loop$1(List.scala:117)
        	at scala.collection.immutable.List.mapConserve(List.scala:133)
        	at scala.reflect.internal.Trees$Transformer.transformStats(Trees.scala:1478)
        	at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1386)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:49)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49)
        	at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:49)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177)
        	at scala.reflect.internal.Trees$Transformer.transformTemplate(Trees.scala:1464)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1356)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1355)
        	at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31)
        	at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1354)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1480)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1478)
        	at scala.collection.immutable.List.loop$1(List.scala:117)
        	at scala.collection.immutable.List.mapConserve(List.scala:133)
        	at scala.reflect.internal.Trees$Transformer.transformStats(Trees.scala:1478)
        	at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1386)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:49)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49)
        	at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:49)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177)
        	at scala.reflect.internal.Trees$Transformer.transformTemplate(Trees.scala:1464)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1356)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1355)
        	at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31)
        	at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1354)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1480)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1478)
        	at scala.collection.immutable.List.loop$1(List.scala:117)
        	at scala.collection.immutable.List.mapConserve(List.scala:133)
        	at scala.reflect.internal.Trees$Transformer.transformStats(Trees.scala:1478)
        	at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1386)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:49)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49)
        	at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:49)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177)
        	at scala.reflect.internal.Trees$Transformer.transformTemplate(Trees.scala:1464)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1356)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1355)
        	at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31)
        	at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1354)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1480)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1478)
        	at scala.collection.immutable.List.loop$1(List.scala:117)
        	at scala.collection.immutable.List.mapConserve(List.scala:133)
        	at scala.reflect.internal.Trees$Transformer.transformStats(Trees.scala:1478)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transform$1.apply(Trees.scala:1350)
        	at scala.reflect.internal.Trees$Transformer$$anonfun$transform$1.apply(Trees.scala:1350)
        	at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31)
        	at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1349)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:49)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$2.apply(TypingTransformers.scala:51)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$2.apply(TypingTransformers.scala:51)
        	at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31)
        	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:51)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177)
        	at scala.tools.nsc.transform.Erasure$ErasureTransformer.transform(Erasure.scala:1187)
        	at scala.tools.nsc.ast.Trees$Transformer.transformUnit(Trees.scala:14)
        	at scala.tools.nsc.transform.Transform$Phase.apply(Transform.scala:30)
        	at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:344)
        	at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:312)
        	at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:312)
        	at scala.collection.Iterator$class.foreach(Iterator.scala:655)
        	at scala.collection.mutable.ListBuffer$$anon$1.foreach(ListBuffer.scala:316)
        	at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:312)
        	at scala.tools.nsc.Global$Run.compileSources(Global.scala:990)
        	at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.compileAndSaveRun(IMain.scala:726)
        	at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.compile(IMain.scala:701)
        	at scala.tools.nsc.interpreter.IMain$Request.compile(IMain.scala:843)
        	at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:569)
        	at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:532)
        	at scala.tools.nsc.interpreter.ILoop.pasteCommand(ILoop.scala:658)
        	at scala.tools.nsc.interpreter.ILoop$$anonfun$standardCommands$9.apply(ILoop.scala:220)
        	at scala.tools.nsc.interpreter.ILoop$$anonfun$standardCommands$9.apply(ILoop.scala:220)
        	at scala.tools.nsc.interpreter.LoopCommands$LoopCommand$$anonfun$nullary$1.apply(LoopCommands.scala:61)
        	at scala.tools.nsc.interpreter.LoopCommands$LoopCommand$$anonfun$nullary$1.apply(LoopCommands.scala:61)
        	at scala.tools.nsc.interpreter.LoopCommands$NullaryCmd.apply(LoopCommands.scala:72)
        	at scala.tools.nsc.interpreter.ILoop.command(ILoop.scala:642)
        	at scala.tools.nsc.interpreter.ILoop.processLine$1(ILoop.scala:539)
        	at scala.tools.nsc.interpreter.ILoop.loop(ILoop.scala:547)
        	at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:818)
        	at scala.tools.nsc.MainGenericRunner.runTarget$1(MainGenericRunner.scala:67)
        	at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:80)
        	at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:89)
        	at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)
        
        Show
        Simon Ochsenreither added a comment - Updated Stacktrace on 2.10.0.r25228-b20110704020234: java.lang.ClassCastException: scala.reflect.internal.Types$UniqueTypeRef cannot be cast to scala.reflect.internal.Types$TypeBounds at scala.reflect.internal.Types$TypeMap.mapOver(Types.scala:3197) at scala.tools.nsc.transform.Erasure$erasure$.apply(Erasure.scala:214) at scala.tools.nsc.transform.Erasure$erasure$.apply(Erasure.scala:202) at scala.tools.nsc.transform.Erasure.transformInfo(Erasure.scala:525) at scala.tools.nsc.transform.InfoTransform$Phase$$anon$1.transform(InfoTransform.scala:38) at scala.reflect.internal.Symbols$Symbol.rawInfo(Symbols.scala:849) at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:792) at scala.reflect.internal.Symbols$Symbol.tpe(Symbols.scala:754) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anonfun$2.apply$mcZ$sp(Erasure.scala:908) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anonfun$2.apply(Erasure.scala:909) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anonfun$2.apply(Erasure.scala:909) at scala.reflect.internal.SymbolTable.atPhase(SymbolTable.scala:91) at scala.tools.nsc.transform.Erasure$ErasureTransformer.bridgeDefs(Erasure.scala:907) at scala.tools.nsc.transform.Erasure$ErasureTransformer.addBridges(Erasure.scala:970) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.preErase(Erasure.scala:1146) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1168) at scala.reflect.internal.Trees$Transformer.transformTemplate(Trees.scala:1464) at scala.reflect.internal.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1356) at scala.reflect.internal.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1355) at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1354) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177) at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1480) at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1478) at scala.collection.immutable.List.loop$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.reflect.internal.Trees$Transformer.transformStats(Trees.scala:1478) at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1388) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177) at scala.reflect.internal.Trees$Transformer$$anonfun$transformTrees$1.apply(Trees.scala:1462) at scala.reflect.internal.Trees$Transformer$$anonfun$transformTrees$1.apply(Trees.scala:1462) at scala.collection.immutable.List.loop$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.reflect.internal.Trees$Transformer.transformTrees(Trees.scala:1462) at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1426) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177) at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1388) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177) at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1410) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177) at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1388) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177) at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1410) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177) at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1388) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177) at scala.reflect.internal.Trees$Transformer$$anonfun$transform$5.apply(Trees.scala:1372) at scala.reflect.internal.Trees$Transformer$$anonfun$transform$5.apply(Trees.scala:1370) at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1369) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1173) at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1480) at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1478) at scala.collection.immutable.List.loop$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.reflect.internal.Trees$Transformer.transformStats(Trees.scala:1478) at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1386) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:49) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49) at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:49) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177) at scala.reflect.internal.Trees$Transformer.transformTemplate(Trees.scala:1464) at scala.reflect.internal.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1356) at scala.reflect.internal.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1355) at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1354) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177) at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1480) at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1478) at scala.collection.immutable.List.loop$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.reflect.internal.Trees$Transformer.transformStats(Trees.scala:1478) at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1388) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177) at scala.reflect.internal.Trees$Transformer$$anonfun$transformTrees$1.apply(Trees.scala:1462) at scala.reflect.internal.Trees$Transformer$$anonfun$transformTrees$1.apply(Trees.scala:1462) at scala.collection.immutable.List.loop$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.reflect.internal.Trees$Transformer.transformTrees(Trees.scala:1462) at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1426) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177) at scala.reflect.internal.Trees$Transformer$$anonfun$transform$4.apply(Trees.scala:1366) at scala.reflect.internal.Trees$Transformer$$anonfun$transform$4.apply(Trees.scala:1365) at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1364) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177) at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1480) at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1478) at scala.collection.immutable.List.loop$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.reflect.internal.Trees$Transformer.transformStats(Trees.scala:1478) at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1386) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:49) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49) at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:49) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177) at scala.reflect.internal.Trees$Transformer.transformTemplate(Trees.scala:1464) at scala.reflect.internal.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1356) at scala.reflect.internal.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1355) at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1354) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177) at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1480) at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1478) at scala.collection.immutable.List.loop$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.reflect.internal.Trees$Transformer.transformStats(Trees.scala:1478) at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1386) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:49) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49) at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:49) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177) at scala.reflect.internal.Trees$Transformer.transformTemplate(Trees.scala:1464) at scala.reflect.internal.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1356) at scala.reflect.internal.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1355) at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1354) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177) at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1480) at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1478) at scala.collection.immutable.List.loop$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.reflect.internal.Trees$Transformer.transformStats(Trees.scala:1478) at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1386) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:49) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49) at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:49) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177) at scala.reflect.internal.Trees$Transformer.transformTemplate(Trees.scala:1464) at scala.reflect.internal.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1356) at scala.reflect.internal.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1355) at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1354) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177) at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1480) at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1478) at scala.collection.immutable.List.loop$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.reflect.internal.Trees$Transformer.transformStats(Trees.scala:1478) at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1386) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:49) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49) at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:49) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177) at scala.reflect.internal.Trees$Transformer.transformTemplate(Trees.scala:1464) at scala.reflect.internal.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1356) at scala.reflect.internal.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1355) at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1354) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177) at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1480) at scala.reflect.internal.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1478) at scala.collection.immutable.List.loop$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.reflect.internal.Trees$Transformer.transformStats(Trees.scala:1478) at scala.reflect.internal.Trees$Transformer$$anonfun$transform$1.apply(Trees.scala:1350) at scala.reflect.internal.Trees$Transformer$$anonfun$transform$1.apply(Trees.scala:1350) at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.reflect.internal.Trees$Transformer.transform(Trees.scala:1349) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:49) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$2.apply(TypingTransformers.scala:51) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$2.apply(TypingTransformers.scala:51) at scala.reflect.internal.Trees$Transformer.atOwner(Trees.scala:1487) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:51) at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anon$1.transform(Erasure.scala:1177) at scala.tools.nsc.transform.Erasure$ErasureTransformer.transform(Erasure.scala:1187) at scala.tools.nsc.ast.Trees$Transformer.transformUnit(Trees.scala:14) at scala.tools.nsc.transform.Transform$Phase.apply(Transform.scala:30) at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:344) at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:312) at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:312) at scala.collection.Iterator$class.foreach(Iterator.scala:655) at scala.collection.mutable.ListBuffer$$anon$1.foreach(ListBuffer.scala:316) at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:312) at scala.tools.nsc.Global$Run.compileSources(Global.scala:990) at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.compileAndSaveRun(IMain.scala:726) at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.compile(IMain.scala:701) at scala.tools.nsc.interpreter.IMain$Request.compile(IMain.scala:843) at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:569) at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:532) at scala.tools.nsc.interpreter.ILoop.pasteCommand(ILoop.scala:658) at scala.tools.nsc.interpreter.ILoop$$anonfun$standardCommands$9.apply(ILoop.scala:220) at scala.tools.nsc.interpreter.ILoop$$anonfun$standardCommands$9.apply(ILoop.scala:220) at scala.tools.nsc.interpreter.LoopCommands$LoopCommand$$anonfun$nullary$1.apply(LoopCommands.scala:61) at scala.tools.nsc.interpreter.LoopCommands$LoopCommand$$anonfun$nullary$1.apply(LoopCommands.scala:61) at scala.tools.nsc.interpreter.LoopCommands$NullaryCmd.apply(LoopCommands.scala:72) at scala.tools.nsc.interpreter.ILoop.command(ILoop.scala:642) at scala.tools.nsc.interpreter.ILoop.processLine$1(ILoop.scala:539) at scala.tools.nsc.interpreter.ILoop.loop(ILoop.scala:547) at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:818) at scala.tools.nsc.MainGenericRunner.runTarget$1(MainGenericRunner.scala:67) at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:80) at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:89) at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)
        Hide
        Adriaan Moors added a comment -

        reduced:

        class Test {
          List(Some(classOf[java.lang.Integer]), Some(classOf[Int])).map {
            case Some(f: Class[_]) => f.cast(???)
          }
        }
        
        Show
        Adriaan Moors added a comment - reduced: class Test { List(Some(classOf[java.lang.Integer]), Some(classOf[Int])).map { case Some(f: Class[_]) => f.cast(???) } }
        Show
        Adriaan Moors added a comment - https://github.com/scala/scala/pull/981

          People

          • Assignee:
            Adriaan Moors
            Reporter:
            Ben Jackman
            TracCC:
            Ben Jackman, Erik Engbrecht, Simon Ochsenreither
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development