Skip to content

Dotty compiler crashes with StackOverflowError on symbol literal #2960

Closed
@Glavo

Description

@Glavo
package org.glavo.dotty

import scala.collection.mutable

sealed trait Node {
    def mkString(n: Int): String
}

class Tag(val name: String, 
          val attributes: mutable.LinkedHashMap[Symbol, String] = mutable.LinkedHashMap(), 
          val children: mutable.Buffer[Node] = mutable.Buffer()) extends Node {
    
    override def mkString(n: Int): String = {        
        Tag.spaces(n) + s"<$name ${attributes.map(_.name + "=" + Tag.unescape(_)).mkString(" ")}>" +
            (if(children.isEmpty) "\n" 
                else children.map(_.mkString(n + 4)).mkString("\n", "\n", "\n")) + 
        Tag.spaces(n) + s"</$name>"
    }

    def apply(attrs: (Symbol, String)*): this.type = {
        attributes ++= attrs
        this
    }

    def apply[U](f: implicit Tag => U)(implicit t: Tag = null): this.type = {
        if(t != null) t.children += this
        f(this)
        this
    }
}

object Tag {
    def spaces(n: Int = 0): String = {
        if(n == 0) ""
        else {
            val cs = new Array[Char](n)
            for (i <- 0 until n) 
                cs(i) = 0

            new String(cs)
        }
    }

    def unescape(str: String): String = {
        "\"" + str + "\""
    }

    implicit def symbolToTag(symbol: Symbol): Tag = 
        new Tag(symbol.name)

    implicit class PairMaker(val tag: Symbol) extends AnyVal {
        def :=(value: String): (Symbol, String) = (tag, value)
    }
}

class Text(val value: String) extends Node {
    override def mkString(n: Int): String = {
        Tag.spaces(n) + value
    }
}

I compiled with sbt, and run sbt task 'console':

scala> import org.glavo.dotty._ 
import org.glavo.dotty._
scala> import org.glavo.dotty.Tag._ 
import org.glavo.dotty.Tag._
scala> 'html{}[error] (run-main-1) java.lang.StackOverflowError
java.lang.StackOverflowError
	at dotty.tools.dotc.core.TypeComparer.op$16(TypeComparer.scala:128)
	at dotty.tools.dotc.core.TypeComparer.isSubType(TypeComparer.scala:108)
	at dotty.tools.dotc.core.TypeComparer.topLevelSubType(TypeComparer.scala:102)
	at dotty.tools.dotc.core.Types$Type.op$36(Types.scala:746)
	at dotty.tools.dotc.core.Types$Type.$less$colon$less(Types.scala:745)
	at dotty.tools.dotc.core.Types$Type.relaxed_$less$colon$less(Types.scala:775)
	at dotty.tools.dotc.typer.ProtoTypes$Compatibility.isCompatible(ProtoTypes.scala:39)
	at dotty.tools.dotc.typer.Applications$TestApplication.argOK(Applications.scala:488)
	at dotty.tools.dotc.typer.Applications$TestApplication.addArg(Applications.scala:495)
	at dotty.tools.dotc.typer.Applications$Application.matchArgs$$anonfun$1(Applications.scala:447)
	at scala.compat.java8.JProcedure1.apply(JProcedure1.java:18)
	at scala.compat.java8.JProcedure1.apply(JProcedure1.java:10)
	at scala.collection.immutable.List.foreach(List.scala:392)
	at dotty.tools.dotc.typer.Applications$Application.matchArgs(Applications.scala:447)
	at dotty.tools.dotc.typer.Applications$Application.init(Applications.scala:227)
	at dotty.tools.dotc.typer.Applications$TestApplication.<init>(Applications.scala:503)
	at dotty.tools.dotc.typer.Applications$ApplicableToTypes.<init>(Applications.scala:527)
	at dotty.tools.dotc.typer.Applications.isApplicable(Applications.scala:1002)
	at dotty.tools.dotc.typer.Applications.op$62(Applications.scala:1074)
	at dotty.tools.dotc.typer.Applications.isAsSpecific$1(Applications.scala:1069)
	at dotty.tools.dotc.typer.Applications.op$62(Applications.scala:1078)
	at dotty.tools.dotc.typer.Applications.isAsSpecific$1(Applications.scala:1069)
	at dotty.tools.dotc.typer.Applications.winsType2$1(Applications.scala:1156)
	at dotty.tools.dotc.typer.Applications.op$61(Applications.scala:1172)
	at dotty.tools.dotc.typer.Applications.op$60(Applications.scala:1042)
	at dotty.tools.dotc.typer.Applications.isAsGood(Applications.scala:1042)
	at dotty.tools.dotc.typer.Applications.winner$1(Applications.scala:1184)
	at dotty.tools.dotc.typer.Applications.op$63(Applications.scala:1188)
	at dotty.tools.dotc.typer.Applications.narrowMostSpecific(Applications.scala:1177)
	at dotty.tools.dotc.typer.Applications.op$65(Applications.scala:1364)
	at dotty.tools.dotc.typer.Applications.resolveOverloaded(Applications.scala:1267)
	at dotty.tools.dotc.typer.Applications.op$64(Applications.scala:1253)
	at dotty.tools.dotc.typer.Applications.resolveOverloaded(Applications.scala:1206)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1920)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.op$122(Typer.scala:1709)
	at dotty.tools.dotc.typer.Typer.typed(Typer.scala:1707)
	at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:1766)
	at dotty.tools.dotc.typer.Typer.typeSelectOnTerm$1(Typer.scala:413)
	at dotty.tools.dotc.typer.Typer.op$84(Typer.scala:447)
	at dotty.tools.dotc.typer.Typer.typedSelect(Typer.scala:411)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1822)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
	at dotty.tools.dotc.typer.Typer.adapt(Typer.scala:1857)
	at dotty.tools.dotc.typer.Typer.tryApply$1(Typer.scala:1823)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit$$anonfun$1(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:1774)
	at dotty.tools.dotc.typer.Typer.tryInsertApplyOrImplicit(Typer.scala:1836)
	at dotty.tools.dotc.typer.Typer.adaptOverloaded$1(Typer.scala:1931)
	at dotty.tools.dotc.typer.Typer.adaptInterpolated(Typer.scala:2254)
	at dotty.tools.dotc.typer.Typer.op$125(Typer.scala:1862)
	at dotty.tools.dotc.typer.Typer.op$124(Typer.scala:1858)
java.lang.RuntimeException: Nonzero exit code: 1
	at scala.sys.package$.error(package.scala:27)
	at sbt.Defaults$$anonfun$consoleTask$1$$anonfun$apply$54.apply(Defaults.scala:850)
	at sbt.Defaults$$anonfun$consoleTask$1$$anonfun$apply$54.apply(Defaults.scala:850)
	at scala.Option.foreach(Option.scala:236)
	at sbt.Defaults$$anonfun$consoleTask$1.apply(Defaults.scala:850)
	at sbt.Defaults$$anonfun$consoleTask$1.apply(Defaults.scala:845)
	at scala.Function8$$anonfun$tupled$1.apply(Function8.scala:35)
	at scala.Function8$$anonfun$tupled$1.apply(Function8.scala:34)
	at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
	at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
	at sbt.std.Transform$$anon$4.work(System.scala:63)
	at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
	at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
	at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
	at sbt.Execute.work(Execute.scala:237)
	at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
	at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
	at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
	at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
[error] (compile:console) Nonzero exit code: 1
[error] Total time: 108 s, completed 2017-8-5 17:53:53

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions