Uploaded image for project: 'Scala Programming Language'
  1. Scala Programming Language
  2. SI-5559

don't crash with "Error: trying to do lub/glb of typevar ?T"

    Details

      Description

      scalac crashes with the message below.

      to reproduce: [snipped laborious cloning exercise, see comments for self-contained reproductions.]

        Attachments

          Issue Links

            Activity

            Hide
            jamesiry James Iry added a comment -

            2.10.3-RC1 is coming at the end of the week. If there isn't going to be a PR in the next couple of days then let's kick this to 2.10.4-RC1.

            Show
            jamesiry James Iry added a comment - 2.10.3-RC1 is coming at the end of the week. If there isn't going to be a PR in the next couple of days then let's kick this to 2.10.4-RC1.
            Hide
            duckpodger Duckpodger added a comment - - edited

            Another example cut down from a hamcrest based one

            package object traitor {
              trait Matcher[X <: AnyRef]{}
              
              object Problem2{
                def allOf[X](x: Matcher[_ >: X], y: Matcher[_ >: X]) = new Matcher[X](){}
                def allOf[X](x: Matcher[_ >: X]*) = new Matcher[X](){}
              }
            }
             
            object ProblemMaker {
              import traitor._
              
              def equalTo[X](x: X) = new Matcher[X](){}
              val a = equalTo("g")
              val b = Problem2.allOf(a)
              val c = Problem2.allOf(a,a)
            }
            

            Show
            duckpodger Duckpodger added a comment - - edited Another example cut down from a hamcrest based one package object traitor { trait Matcher[X <: AnyRef]{} object Problem2{ def allOf[X](x: Matcher[_ >: X], y: Matcher[_ >: X]) = new Matcher[X](){} def allOf[X](x: Matcher[_ >: X]*) = new Matcher[X](){} } }   object ProblemMaker { import traitor._ def equalTo[X](x: X) = new Matcher[X](){} val a = equalTo("g") val b = Problem2.allOf(a) val c = Problem2.allOf(a,a) }
            Hide
            retronym Jason Zaugg added a comment -
            • overload resolution is attempting to find the more specific alternative of allOf.
            • it checks if the second alternative is compatible with arguments of the types of the first, e.g. would allOf#2(null : Matcher[_ >: X], null : Matcher[_ >: X]) typecheck?
            • It assigns a type variable to help infer the type argument of this application
            • It compares argument types pairwise against the formal parameter types. The param type is instantiated with the type variable, so this test is Matcher[_ >: X] <:< Matcher[_ >: X?].
            • Subtype checking finds an existential type on the LHS. L forSome { TS }

              is a subtype of U if we can replace existential quantifiers TS with type variables, and find a solution that satisfies the constraints imposed by the subtyping check. This ends up with type variables on the LHS and RHS of a type relation, which is not supported by our inference engine.

            • we bail out with the exception.
            Show
            retronym Jason Zaugg added a comment - overload resolution is attempting to find the more specific alternative of allOf. it checks if the second alternative is compatible with arguments of the types of the first, e.g. would allOf#2(null : Matcher [_ >: X] , null : Matcher [_ >: X] ) typecheck? It assigns a type variable to help infer the type argument of this application It compares argument types pairwise against the formal parameter types. The param type is instantiated with the type variable, so this test is Matcher [_ >: X] <:< Matcher [_ >: X?] . Subtype checking finds an existential type on the LHS. L forSome { TS } is a subtype of U if we can replace existential quantifiers TS with type variables, and find a solution that satisfies the constraints imposed by the subtyping check. This ends up with type variables on the LHS and RHS of a type relation, which is not supported by our inference engine. we bail out with the exception.
            Hide
            samuelgruetter Samuel Grütter added a comment -

            We ran into the same problem in RxScala, minimized example:

            import scala.language.implicitConversions
             
            object Bug extends App {
             
              class JObserver[T]
              class JSubscriber[T] extends JObserver[T]
             
              class Foo
             
              implicit def convertSubscriber[T](s: JSubscriber[_ >: T]): Foo = ???
             
              implicit def convertObserver[T](s: JObserver[_ >: T]): Foo = ???
             
              val jSubscriber: JSubscriber[_ >: Int] = ???
             
              val foo: Foo = jSubscriber // compiler crashes
             
            }
            

            It prevents us from creating an "asScala" extension method which works for all types, and we have to give it separate names for those types which are subtypes of others, see https://github.com/ReactiveX/RxScala/pull/208 for the details.

            Show
            samuelgruetter Samuel Grütter added a comment - We ran into the same problem in RxScala, minimized example: import scala.language.implicitConversions   object Bug extends App {   class JObserver[T] class JSubscriber[T] extends JObserver[T]   class Foo   implicit def convertSubscriber[T](s: JSubscriber[_ >: T]): Foo = ???   implicit def convertObserver[T](s: JObserver[_ >: T]): Foo = ???   val jSubscriber: JSubscriber[_ >: Int] = ???   val foo: Foo = jSubscriber // compiler crashes   } It prevents us from creating an "asScala" extension method which works for all types, and we have to give it separate names for those types which are subtypes of others, see https://github.com/ReactiveX/RxScala/pull/208 for the details.
            Hide
            soc Simon Ochsenreither added a comment -

            Another instance of this, as reported in https://groups.google.com/forum/#!topic/scala-user/fot6Ke-iBDI:

            sealed trait Foo[A]
            case class Bar[A](f: A) extends Foo[A]
             
            object Extractor {
              def unapply[A](f: Bar[_ >: A]): Option[A] = ??? // no crash if `f: Foo[_ >: A]`
            }
             
            object Main extends App {
             
              type X = Int
             
              val t: Foo[X] = ???
             
              t match {
                case Extractor(f) => f
                case _            => ???
              }
            }
            

            ReplGlobal.abort: trying to do lub/glb of typevar ?A
            error:
              trying to do lub/glb of typevar ?A
                 while compiling: <console>
                    during phase: typer
                 library version: version 2.12.0-RC2
                compiler version: version 2.12.0-RC2
              reconstructed args: -deprecation -feature
             
              last tree to typer: Ident(<unapply-selector>)
                   tree position: line 20 of <console>
                        tree tpe: Foo[Main.X] with Bar[_ >: A]
                          symbol: value <unapply-selector>
               symbol definition: val <unapply-selector>: Foo[Main.X] with Bar[_ >: A] (a TermSymbol)
                  symbol package: $line6
                   symbol owners: value <unapply-selector> -> value <local Main> -> object Main -> object $iw -> object $iw -> object $read
                       call site: object Main in package $line6
             
            <Cannot read source file>
            scala.reflect.internal.FatalError: 
              trying to do lub/glb of typevar ?A
                 while compiling: <console>
                    during phase: typer
                 library version: version 2.12.0-RC2
                compiler version: version 2.12.0-RC2
              reconstructed args: -deprecation -feature
             
              last tree to typer: Ident(<unapply-selector>)
                   tree position: line 20 of <console>
                        tree tpe: Foo[$line6.$read.$iw.$iw.Main.X] with Bar[_ >: A]
                          symbol: value <unapply-selector>
               symbol definition: val <unapply-selector>: Foo[$line6.$read.$iw.$iw.Main.X] with Bar[_ >: A] (a TermSymbol)
                  symbol package: $line6
                   symbol owners: value <unapply-selector> -> value <local Main> -> object Main -> object $iw -> object $iw -> object $read
                       call site: object Main in package $line6
             
            <Cannot read source file>
            	at scala.reflect.internal.Reporting.abort(Reporting.scala:61)
            	at scala.reflect.internal.Reporting.abort$(Reporting.scala:57)
            	at scala.tools.nsc.interpreter.IMain$$anon$1.scala$tools$nsc$interpreter$ReplGlobal$$super$abort(IMain.scala:242)
            	at scala.tools.nsc.interpreter.ReplGlobal.abort(ReplGlobal.scala:20)
            	at scala.tools.nsc.interpreter.ReplGlobal.abort$(ReplGlobal.scala:18)
            	at scala.tools.nsc.interpreter.IMain$$anon$1.abort(IMain.scala:242)
            	at scala.reflect.internal.Types.stripType$1(Types.scala:4443)
            	at scala.reflect.internal.Types.$anonfun$stripExistentialsAndTypeVars$4(Types.scala:4446)
            	at scala.reflect.internal.Types.stripExistentialsAndTypeVars(Types.scala:4446)
            	at scala.reflect.internal.Types.stripExistentialsAndTypeVars$(Types.scala:4420)
            	at scala.reflect.internal.SymbolTable.stripExistentialsAndTypeVars(SymbolTable.scala:16)
            	at scala.reflect.internal.tpe.GlbLubs.lub1$1(GlbLubs.scala:310)
            	at scala.reflect.internal.tpe.GlbLubs.lub0$1(GlbLubs.scala:304)
            	at scala.reflect.internal.tpe.GlbLubs.lub(GlbLubs.scala:401)
            	at scala.reflect.internal.tpe.GlbLubs.lub$(GlbLubs.scala:282)
            	at scala.reflect.internal.SymbolTable.lub(SymbolTable.scala:16)
            	at scala.reflect.internal.tpe.GlbLubs.lub(GlbLubs.scala:261)
            	at scala.reflect.internal.tpe.GlbLubs.lub$(GlbLubs.scala:254)
            	at scala.reflect.internal.SymbolTable.lub(SymbolTable.scala:16)
            	at scala.reflect.internal.tpe.TypeConstraints.solveOne$1(TypeConstraints.scala:248)
            	at scala.reflect.internal.tpe.TypeConstraints.$anonfun$solve$9(TypeConstraints.scala:260)
            	at scala.reflect.internal.tpe.TypeConstraints.solve(TypeConstraints.scala:260)
            	at scala.reflect.internal.tpe.TypeConstraints.solve$(TypeConstraints.scala:192)
            	at scala.reflect.internal.SymbolTable.solve(SymbolTable.scala:16)
            	at scala.reflect.internal.Types$ExistentialType.withTypeVars(Types.scala:2756)
            	at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:485)
            	at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:452)
            	at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:428)
            	at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:548)
            	at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:320)
            	at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:278)
            	at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:240)
            	at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:16)
            	at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:447)
            	at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:428)
            	at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:548)
            	at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:320)
            	at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:278)
            	at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:240)
            	at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:16)
            	at scala.reflect.internal.tpe.TypeComparers.retry$3(TypeComparers.scala:522)
            	at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$4(TypeComparers.scala:542)
            	at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$4$adapted(TypeComparers.scala:542)
            	at scala.collection.LinearSeqOptimized.exists(LinearSeqOptimized.scala:91)
            	at scala.collection.LinearSeqOptimized.exists$(LinearSeqOptimized.scala:88)
            	at scala.reflect.internal.tpe.TypeComparers.fourthTry$1(TypeComparers.scala:542)
            	at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:485)
            	at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:452)
            	at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:428)
            	at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:548)
            	at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:320)
            	at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:278)
            	at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:240)
            	at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:16)
            	at scala.reflect.internal.tpe.TypeComparers.isWeakSubType(TypeComparers.scala:571)
            	at scala.reflect.internal.tpe.TypeComparers.isWeakSubType$(TypeComparers.scala:552)
            	at scala.reflect.internal.SymbolTable.isWeakSubType(SymbolTable.scala:16)
            	at scala.reflect.internal.Types$Type.weak_$less$colon$less(Types.scala:835)
            	at scala.tools.nsc.typechecker.Infer$Inferencer.isCompatible(Infer.scala:307)
            	at scala.tools.nsc.typechecker.Infer$Inferencer.$anonfun$methTypeArgs$3(Infer.scala:547)
            	at scala.tools.nsc.typechecker.Infer$Inferencer.methTypeArgs(Infer.scala:541)
            	at scala.tools.nsc.typechecker.Infer$Inferencer.inferMethodInstance(Infer.scala:994)
            	at scala.tools.nsc.typechecker.Typers$Typer.handlePolymorphicCall$1(Typers.scala:3604)
            	at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:3609)
            	at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4647)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4681)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5447)
            	at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5464)
            	at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530)
            	at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474)
            	at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478)
            	at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5555)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedPos(Typers.scala:5562)
            	at scala.tools.nsc.typechecker.PatternTypers$PatternTyper.doTypedUnapply(PatternTypers.scala:307)
            	at scala.tools.nsc.typechecker.PatternTypers$PatternTyper.doTypedUnapply$(PatternTypers.scala:263)
            	at scala.tools.nsc.typechecker.Typers$Typer.doTypedUnapply(Typers.scala:111)
            	at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:3622)
            	at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:3614)
            	at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4647)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4681)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5447)
            	at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5464)
            	at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530)
            	at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474)
            	at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478)
            	at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedPattern$2(Typers.scala:5616)
            	at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedPattern$1(Typers.scala:5616)
            	at scala.tools.nsc.interpreter.ReplGlobal$$anon$1.typingInPattern(ReplGlobal.scala:23)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedPattern(Typers.scala:5616)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedCase(Typers.scala:2481)
            	at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedCases$1(Typers.scala:2521)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedCases(Typers.scala:2520)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedMatch(Typers.scala:2532)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedVirtualizedMatch$1(Typers.scala:4397)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedOutsidePatternMode$1(Typers.scala:5426)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5457)
            	at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5464)
            	at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530)
            	at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474)
            	at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedByValueExpr(Typers.scala:5559)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:3058)
            	at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$8(Typers.scala:3187)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3187)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1975)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedModuleDef(Typers.scala:1846)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedMemberDef$1(Typers.scala:5414)
            	at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5463)
            	at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530)
            	at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474)
            	at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedByValueExpr(Typers.scala:5559)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:3058)
            	at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$8(Typers.scala:3187)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3187)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1975)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedModuleDef(Typers.scala:1846)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedMemberDef$1(Typers.scala:5414)
            	at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5463)
            	at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530)
            	at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474)
            	at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedByValueExpr(Typers.scala:5559)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:3058)
            	at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$8(Typers.scala:3187)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3187)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1975)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedModuleDef(Typers.scala:1846)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedMemberDef$1(Typers.scala:5414)
            	at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5463)
            	at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530)
            	at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474)
            	at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedByValueExpr(Typers.scala:5559)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:3058)
            	at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$8(Typers.scala:3187)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3187)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1975)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedModuleDef(Typers.scala:1846)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedMemberDef$1(Typers.scala:5414)
            	at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5463)
            	at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530)
            	at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474)
            	at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedByValueExpr(Typers.scala:5559)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:3058)
            	at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$8(Typers.scala:3187)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3187)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedPackageDef$1(Typers.scala:5113)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedMemberDef$1(Typers.scala:5416)
            	at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5463)
            	at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500)
            	at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530)
            	at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474)
            	at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478)
            	at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5555)
            	at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.apply(Analyzer.scala:102)
            	at scala.tools.nsc.Global$GlobalPhase.$anonfun$applyPhase$1(Global.scala:402)
            	at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:395)
            	at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.$anonfun$run$1(Analyzer.scala:94)
            	at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.$anonfun$run$1$adapted(Analyzer.scala:93)
            	at scala.collection.AbstractIterator.foreach(Iterator.scala:932)
            	at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.run(Analyzer.scala:93)
            	at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1404)
            	at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1389)
            	at scala.tools.nsc.Global$Run.compileSources(Global.scala:1384)
            	at scala.tools.nsc.interpreter.IMain.compileSourcesKeepingRun(IMain.scala:430)
            	at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.compileAndSaveRun(IMain.scala:801)
            	at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.compile(IMain.scala:759)
            	at scala.tools.nsc.interpreter.IMain$Request.compile$lzycompute(IMain.scala:948)
            	at scala.tools.nsc.interpreter.IMain$Request.compile(IMain.scala:943)
            	at scala.tools.nsc.interpreter.IMain.compile(IMain.scala:599)
            	at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:588)
            	at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:560)
            	at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:825)
            	at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:843)
            	at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:843)
            	at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:843)
            	at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:843)
            	at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:843)
            	at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:843)
            	at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:843)
            	at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:843)
            	at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:843)
            	at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:843)
            	at scala.tools.nsc.interpreter.ILoop.command(ILoop.scala:684)
            	at scala.tools.nsc.interpreter.ILoop.processLine(ILoop.scala:402)
            	at scala.tools.nsc.interpreter.ILoop.loop(ILoop.scala:423)
            	at scala.tools.nsc.interpreter.ILoop.$anonfun$process$1(ILoop.scala:993)
            	at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:892)
            	at scala.tools.nsc.MainGenericRunner.runTarget$1(MainGenericRunner.scala:79)
            	at scala.tools.nsc.MainGenericRunner.run$1(MainGenericRunner.scala:92)
            	at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:103)
            	at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:108)
            	at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)
            

            Show
            soc Simon Ochsenreither added a comment - Another instance of this, as reported in https://groups.google.com/forum/#!topic/scala-user/fot6Ke-iBDI: sealed trait Foo[A] case class Bar[A](f : A) extends Foo[A]   object Extractor { def unapply[A](f : Bar[ _ > : A]) : Option[A] = ??? // no crash if `f: Foo[_ >: A]` }   object Main extends App {   type X = Int   val t : Foo[X] = ???   t match { case Extractor(f) = > f case _ = > ??? } } ReplGlobal.abort: trying to do lub/glb of typevar ?A error: trying to do lub/glb of typevar ?A while compiling: <console> during phase: typer library version: version 2.12.0-RC2 compiler version: version 2.12.0-RC2 reconstructed args: -deprecation -feature   last tree to typer: Ident(<unapply-selector>) tree position: line 20 of <console> tree tpe: Foo[Main.X] with Bar[_ >: A] symbol: value <unapply-selector> symbol definition: val <unapply-selector>: Foo[Main.X] with Bar[_ >: A] (a TermSymbol) symbol package: $line6 symbol owners: value <unapply-selector> -> value <local Main> -> object Main -> object $iw -> object $iw -> object $read call site: object Main in package $line6   <Cannot read source file> scala.reflect.internal.FatalError: trying to do lub/glb of typevar ?A while compiling: <console> during phase: typer library version: version 2.12.0-RC2 compiler version: version 2.12.0-RC2 reconstructed args: -deprecation -feature   last tree to typer: Ident(<unapply-selector>) tree position: line 20 of <console> tree tpe: Foo[$line6.$read.$iw.$iw.Main.X] with Bar[_ >: A] symbol: value <unapply-selector> symbol definition: val <unapply-selector>: Foo[$line6.$read.$iw.$iw.Main.X] with Bar[_ >: A] (a TermSymbol) symbol package: $line6 symbol owners: value <unapply-selector> -> value <local Main> -> object Main -> object $iw -> object $iw -> object $read call site: object Main in package $line6   <Cannot read source file> at scala.reflect.internal.Reporting.abort(Reporting.scala:61) at scala.reflect.internal.Reporting.abort$(Reporting.scala:57) at scala.tools.nsc.interpreter.IMain$$anon$1.scala$tools$nsc$interpreter$ReplGlobal$$super$abort(IMain.scala:242) at scala.tools.nsc.interpreter.ReplGlobal.abort(ReplGlobal.scala:20) at scala.tools.nsc.interpreter.ReplGlobal.abort$(ReplGlobal.scala:18) at scala.tools.nsc.interpreter.IMain$$anon$1.abort(IMain.scala:242) at scala.reflect.internal.Types.stripType$1(Types.scala:4443) at scala.reflect.internal.Types.$anonfun$stripExistentialsAndTypeVars$4(Types.scala:4446) at scala.reflect.internal.Types.stripExistentialsAndTypeVars(Types.scala:4446) at scala.reflect.internal.Types.stripExistentialsAndTypeVars$(Types.scala:4420) at scala.reflect.internal.SymbolTable.stripExistentialsAndTypeVars(SymbolTable.scala:16) at scala.reflect.internal.tpe.GlbLubs.lub1$1(GlbLubs.scala:310) at scala.reflect.internal.tpe.GlbLubs.lub0$1(GlbLubs.scala:304) at scala.reflect.internal.tpe.GlbLubs.lub(GlbLubs.scala:401) at scala.reflect.internal.tpe.GlbLubs.lub$(GlbLubs.scala:282) at scala.reflect.internal.SymbolTable.lub(SymbolTable.scala:16) at scala.reflect.internal.tpe.GlbLubs.lub(GlbLubs.scala:261) at scala.reflect.internal.tpe.GlbLubs.lub$(GlbLubs.scala:254) at scala.reflect.internal.SymbolTable.lub(SymbolTable.scala:16) at scala.reflect.internal.tpe.TypeConstraints.solveOne$1(TypeConstraints.scala:248) at scala.reflect.internal.tpe.TypeConstraints.$anonfun$solve$9(TypeConstraints.scala:260) at scala.reflect.internal.tpe.TypeConstraints.solve(TypeConstraints.scala:260) at scala.reflect.internal.tpe.TypeConstraints.solve$(TypeConstraints.scala:192) at scala.reflect.internal.SymbolTable.solve(SymbolTable.scala:16) at scala.reflect.internal.Types$ExistentialType.withTypeVars(Types.scala:2756) at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:485) at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:452) at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:428) at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:548) at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:320) at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:278) at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:240) at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:16) at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:447) at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:428) at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:548) at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:320) at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:278) at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:240) at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:16) at scala.reflect.internal.tpe.TypeComparers.retry$3(TypeComparers.scala:522) at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$4(TypeComparers.scala:542) at scala.reflect.internal.tpe.TypeComparers.$anonfun$isSubType2$4$adapted(TypeComparers.scala:542) at scala.collection.LinearSeqOptimized.exists(LinearSeqOptimized.scala:91) at scala.collection.LinearSeqOptimized.exists$(LinearSeqOptimized.scala:88) at scala.reflect.internal.tpe.TypeComparers.fourthTry$1(TypeComparers.scala:542) at scala.reflect.internal.tpe.TypeComparers.thirdTry$1(TypeComparers.scala:485) at scala.reflect.internal.tpe.TypeComparers.secondTry$1(TypeComparers.scala:452) at scala.reflect.internal.tpe.TypeComparers.firstTry$1(TypeComparers.scala:428) at scala.reflect.internal.tpe.TypeComparers.isSubType2(TypeComparers.scala:548) at scala.reflect.internal.tpe.TypeComparers.isSubType1(TypeComparers.scala:320) at scala.reflect.internal.tpe.TypeComparers.isSubType(TypeComparers.scala:278) at scala.reflect.internal.tpe.TypeComparers.isSubType$(TypeComparers.scala:240) at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:16) at scala.reflect.internal.tpe.TypeComparers.isWeakSubType(TypeComparers.scala:571) at scala.reflect.internal.tpe.TypeComparers.isWeakSubType$(TypeComparers.scala:552) at scala.reflect.internal.SymbolTable.isWeakSubType(SymbolTable.scala:16) at scala.reflect.internal.Types$Type.weak_$less$colon$less(Types.scala:835) at scala.tools.nsc.typechecker.Infer$Inferencer.isCompatible(Infer.scala:307) at scala.tools.nsc.typechecker.Infer$Inferencer.$anonfun$methTypeArgs$3(Infer.scala:547) at scala.tools.nsc.typechecker.Infer$Inferencer.methTypeArgs(Infer.scala:541) at scala.tools.nsc.typechecker.Infer$Inferencer.inferMethodInstance(Infer.scala:994) at scala.tools.nsc.typechecker.Typers$Typer.handlePolymorphicCall$1(Typers.scala:3604) at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:3609) at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4647) at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4681) at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5447) at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5464) at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500) at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530) at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474) at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478) at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5555) at scala.tools.nsc.typechecker.Typers$Typer.typedPos(Typers.scala:5562) at scala.tools.nsc.typechecker.PatternTypers$PatternTyper.doTypedUnapply(PatternTypers.scala:307) at scala.tools.nsc.typechecker.PatternTypers$PatternTyper.doTypedUnapply$(PatternTypers.scala:263) at scala.tools.nsc.typechecker.Typers$Typer.doTypedUnapply(Typers.scala:111) at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:3622) at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:3614) at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4647) at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4681) at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5447) at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5464) at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500) at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530) at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474) at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478) at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedPattern$2(Typers.scala:5616) at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedPattern$1(Typers.scala:5616) at scala.tools.nsc.interpreter.ReplGlobal$$anon$1.typingInPattern(ReplGlobal.scala:23) at scala.tools.nsc.typechecker.Typers$Typer.typedPattern(Typers.scala:5616) at scala.tools.nsc.typechecker.Typers$Typer.typedCase(Typers.scala:2481) at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedCases$1(Typers.scala:2521) at scala.tools.nsc.typechecker.Typers$Typer.typedCases(Typers.scala:2520) at scala.tools.nsc.typechecker.Typers$Typer.typedMatch(Typers.scala:2532) at scala.tools.nsc.typechecker.Typers$Typer.typedVirtualizedMatch$1(Typers.scala:4397) at scala.tools.nsc.typechecker.Typers$Typer.typedOutsidePatternMode$1(Typers.scala:5426) at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5457) at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5464) at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500) at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530) at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474) at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478) at scala.tools.nsc.typechecker.Typers$Typer.typedByValueExpr(Typers.scala:5559) at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:3058) at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$8(Typers.scala:3187) at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3187) at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1975) at scala.tools.nsc.typechecker.Typers$Typer.typedModuleDef(Typers.scala:1846) at scala.tools.nsc.typechecker.Typers$Typer.typedMemberDef$1(Typers.scala:5414) at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5463) at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500) at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530) at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474) at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478) at scala.tools.nsc.typechecker.Typers$Typer.typedByValueExpr(Typers.scala:5559) at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:3058) at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$8(Typers.scala:3187) at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3187) at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1975) at scala.tools.nsc.typechecker.Typers$Typer.typedModuleDef(Typers.scala:1846) at scala.tools.nsc.typechecker.Typers$Typer.typedMemberDef$1(Typers.scala:5414) at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5463) at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500) at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530) at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474) at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478) at scala.tools.nsc.typechecker.Typers$Typer.typedByValueExpr(Typers.scala:5559) at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:3058) at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$8(Typers.scala:3187) at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3187) at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1975) at scala.tools.nsc.typechecker.Typers$Typer.typedModuleDef(Typers.scala:1846) at scala.tools.nsc.typechecker.Typers$Typer.typedMemberDef$1(Typers.scala:5414) at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5463) at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500) at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530) at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474) at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478) at scala.tools.nsc.typechecker.Typers$Typer.typedByValueExpr(Typers.scala:5559) at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:3058) at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$8(Typers.scala:3187) at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3187) at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1975) at scala.tools.nsc.typechecker.Typers$Typer.typedModuleDef(Typers.scala:1846) at scala.tools.nsc.typechecker.Typers$Typer.typedMemberDef$1(Typers.scala:5414) at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5463) at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500) at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530) at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474) at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478) at scala.tools.nsc.typechecker.Typers$Typer.typedByValueExpr(Typers.scala:5559) at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:3058) at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$8(Typers.scala:3187) at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3187) at scala.tools.nsc.typechecker.Typers$Typer.typedPackageDef$1(Typers.scala:5113) at scala.tools.nsc.typechecker.Typers$Typer.typedMemberDef$1(Typers.scala:5416) at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5463) at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500) at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530) at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474) at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478) at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5555) at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.apply(Analyzer.scala:102) at scala.tools.nsc.Global$GlobalPhase.$anonfun$applyPhase$1(Global.scala:402) at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:395) at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.$anonfun$run$1(Analyzer.scala:94) at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.$anonfun$run$1$adapted(Analyzer.scala:93) at scala.collection.AbstractIterator.foreach(Iterator.scala:932) at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.run(Analyzer.scala:93) at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1404) at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1389) at scala.tools.nsc.Global$Run.compileSources(Global.scala:1384) at scala.tools.nsc.interpreter.IMain.compileSourcesKeepingRun(IMain.scala:430) at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.compileAndSaveRun(IMain.scala:801) at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.compile(IMain.scala:759) at scala.tools.nsc.interpreter.IMain$Request.compile$lzycompute(IMain.scala:948) at scala.tools.nsc.interpreter.IMain$Request.compile(IMain.scala:943) at scala.tools.nsc.interpreter.IMain.compile(IMain.scala:599) at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:588) at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:560) at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:825) at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:843) at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:843) at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:843) at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:843) at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:843) at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:843) at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:843) at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:843) at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:843) at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:843) at scala.tools.nsc.interpreter.ILoop.command(ILoop.scala:684) at scala.tools.nsc.interpreter.ILoop.processLine(ILoop.scala:402) at scala.tools.nsc.interpreter.ILoop.loop(ILoop.scala:423) at scala.tools.nsc.interpreter.ILoop.$anonfun$process$1(ILoop.scala:993) at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:892) at scala.tools.nsc.MainGenericRunner.runTarget$1(MainGenericRunner.scala:79) at scala.tools.nsc.MainGenericRunner.run$1(MainGenericRunner.scala:92) at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:103) at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:108) at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)

              People

              • Assignee:
                moors Adriaan Moors
                Reporter:
                bono8106 bono8106
              • Votes:
                4 Vote for this issue
                Watchers:
                18 Start watching this issue

                Dates

                • Due:
                  Created:
                  Updated: