typelevel / scala

Typelevel Scala, a fork of Scala
http://typelevel.org/scala/
372 stars 21 forks source link

Typelevel Scala 2.12.4 crashes while the same code compiles on Lightbend Scala 2.12.4 and Typelevel Scala 2.11.11 #176

Open Atry opened 6 years ago

Atry commented 6 years ago
git clone https://github.com/Atry/Expressions.scala.git --branch=crash-on-typelevel-scala &&
cd Expressions.scala &&
sbt ++2.11.12 clean test:compile &&
sbt ++2.12.4 clean test:compile &&
sbt ++2.11.11-bin-typelevel-4 clean test:compile &&
sbt ++2.12.4-bin-typelevel-4 clean test:compile
Cloning into 'Expressions.scala'...
remote: Counting objects: 919, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 919 (delta 4), reused 12 (delta 4), pack-reused 905
Receiving objects: 100% (919/919), 103.85 KiB | 43.00 KiB/s, done.
Resolving deltas: 100% (299/299), done.
[info] Loading settings from idea.sbt ...
[info] Loading global plugins from /Users/twer/.sbt/1.0/plugins
[info] Loading settings from plugins.sbt ...
[info] Loading project definition from /private/tmp/crash/Expressions.scala/project
[info] Updating ProjectRef(uri("file:/private/tmp/crash/Expressions.scala/project/"), "expressions-scala-build")...
[info] Done updating.
[info] Loading settings from build.sbt ...
[info] Loading settings from build.sbt ...
[info] Set current project to expressions-scala (in build file:/private/tmp/crash/Expressions.scala/)
[info] Setting Scala version to 2.11.12 on 2 projects.
[info] Reapplying settings...
[info] Set current project to expressions-scala (in build file:/private/tmp/crash/Expressions.scala/)
[success] Total time: 0 s, completed 2018-1-8 17:23:09
[info] Updating ...
[info] Updating Expressions...
[info] Done updating.
[info] Done updating.
[info] Compiling 13 Scala sources to /private/tmp/crash/Expressions.scala/Expressions/target/scala-2.11/classes ...
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:99:22: The outer reference in this type test cannot be checked at run time.
[warn]     final case class Code(globalDeclarations: Fastring = Fastring.empty,
[warn]                      ^
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:110:24: The outer reference in this type test cannot be checked at run time.
[warn]       final case class Atom(value: Fastring) extends Accessor {
[warn]                        ^
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:115:24: The outer reference in this type test cannot be checked at run time.
[warn]       final case class Unpacked(unpacked: Seq[Fastring]) extends Accessor {
[warn]                        ^
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:122:24: The outer reference in this type test cannot be checked at run time.
[warn]       final case class Packed(packed: Fastring, numberOfFields: Int) extends Accessor {
[warn]                        ^
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:154:24: The outer reference in this type test cannot be checked at run time.
[warn]       final case class Structure(name: String, override val unpacked: Seq[String]) extends Accessor {
[warn]                        ^
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:158:24: The outer reference in this type test cannot be checked at run time.
[warn]       final case class Atom(name: String) extends Accessor {
[warn]                        ^
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:166:22: The outer reference in this type test cannot be checked at run time.
[warn]     final case class Code(globalDeclarations: Fastring = Fastring.empty,
[warn]                      ^
[warn] 7 warnings found
[info] Done compiling.
[info] Compiling 1 Scala source to /private/tmp/crash/Expressions.scala/Expressions/target/scala-2.11/test-classes ...
[info] Done compiling.
[success] Total time: 11 s, completed 2018-1-8 17:23:20
[info] Loading settings from idea.sbt ...
[info] Loading global plugins from /Users/twer/.sbt/1.0/plugins
[info] Loading settings from plugins.sbt ...
[info] Loading project definition from /private/tmp/crash/Expressions.scala/project
[info] Loading settings from build.sbt ...
[info] Loading settings from build.sbt ...
[info] Set current project to expressions-scala (in build file:/private/tmp/crash/Expressions.scala/)
[info] Setting Scala version to 2.12.4 on 2 projects.
[info] Reapplying settings...
[info] Set current project to expressions-scala (in build file:/private/tmp/crash/Expressions.scala/)
[success] Total time: 0 s, completed 2018-1-8 17:23:30
[info] Updating Expressions...
[info] Updating ...
[info] Done updating.
[info] Done updating.
[info] Compiling 13 Scala sources to /private/tmp/crash/Expressions.scala/Expressions/target/scala-2.12/classes ...
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:99:22: The outer reference in this type test cannot be checked at run time.
[warn]     final case class Code(globalDeclarations: Fastring = Fastring.empty,
[warn]                      ^
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:110:24: The outer reference in this type test cannot be checked at run time.
[warn]       final case class Atom(value: Fastring) extends Accessor {
[warn]                        ^
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:115:24: The outer reference in this type test cannot be checked at run time.
[warn]       final case class Unpacked(unpacked: Seq[Fastring]) extends Accessor {
[warn]                        ^
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:122:24: The outer reference in this type test cannot be checked at run time.
[warn]       final case class Packed(packed: Fastring, numberOfFields: Int) extends Accessor {
[warn]                        ^
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:154:24: The outer reference in this type test cannot be checked at run time.
[warn]       final case class Structure(name: String, override val unpacked: Seq[String]) extends Accessor {
[warn]                        ^
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:158:24: The outer reference in this type test cannot be checked at run time.
[warn]       final case class Atom(name: String) extends Accessor {
[warn]                        ^
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:166:22: The outer reference in this type test cannot be checked at run time.
[warn]     final case class Code(globalDeclarations: Fastring = Fastring.empty,
[warn]                      ^
[warn] 7 warnings found
[info] Done compiling.
[info] Compiling 1 Scala source to /private/tmp/crash/Expressions.scala/Expressions/target/scala-2.12/test-classes ...
[info] Done compiling.
[success] Total time: 10 s, completed 2018-1-8 17:23:40
[info] Loading settings from idea.sbt ...
[info] Loading global plugins from /Users/twer/.sbt/1.0/plugins
[info] Loading settings from plugins.sbt ...
[info] Loading project definition from /private/tmp/crash/Expressions.scala/project
[info] Loading settings from build.sbt ...
[info] Loading settings from build.sbt ...
[info] Set current project to expressions-scala (in build file:/private/tmp/crash/Expressions.scala/)
[info] Setting Scala version to 2.11.11-bin-typelevel-4 on 2 projects.
[info] Reapplying settings...
[info] Set current project to expressions-scala (in build file:/private/tmp/crash/Expressions.scala/)
[success] Total time: 0 s, completed 2018-1-8 17:23:50
[info] Updating ...
[info] Updating Expressions...
[info] Done updating.
[info] Done updating.
[info] Compiling 13 Scala sources to /private/tmp/crash/Expressions.scala/Expressions/target/scala-2.11/classes ...
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:99:22: The outer reference in this type test cannot be checked at run time.
[warn]     final case class Code(globalDeclarations: Fastring = Fastring.empty,
[warn]                      ^
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:110:24: The outer reference in this type test cannot be checked at run time.
[warn]       final case class Atom(value: Fastring) extends Accessor {
[warn]                        ^
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:115:24: The outer reference in this type test cannot be checked at run time.
[warn]       final case class Unpacked(unpacked: Seq[Fastring]) extends Accessor {
[warn]                        ^
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:122:24: The outer reference in this type test cannot be checked at run time.
[warn]       final case class Packed(packed: Fastring, numberOfFields: Int) extends Accessor {
[warn]                        ^
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:154:24: The outer reference in this type test cannot be checked at run time.
[warn]       final case class Structure(name: String, override val unpacked: Seq[String]) extends Accessor {
[warn]                        ^
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:158:24: The outer reference in this type test cannot be checked at run time.
[warn]       final case class Atom(name: String) extends Accessor {
[warn]                        ^
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:166:22: The outer reference in this type test cannot be checked at run time.
[warn]     final case class Code(globalDeclarations: Fastring = Fastring.empty,
[warn]                      ^
[warn] 7 warnings found
[info] Done compiling.
[info] Compiling 1 Scala source to /private/tmp/crash/Expressions.scala/Expressions/target/scala-2.11/test-classes ...
[info] Done compiling.
[success] Total time: 13 s, completed 2018-1-8 17:24:04
[info] Loading settings from idea.sbt ...
[info] Loading global plugins from /Users/twer/.sbt/1.0/plugins
[info] Loading settings from plugins.sbt ...
[info] Loading project definition from /private/tmp/crash/Expressions.scala/project
[info] Loading settings from build.sbt ...
[info] Loading settings from build.sbt ...
[info] Set current project to expressions-scala (in build file:/private/tmp/crash/Expressions.scala/)
[info] Setting Scala version to 2.12.4-bin-typelevel-4 on 2 projects.
[info] Reapplying settings...
[info] Set current project to expressions-scala (in build file:/private/tmp/crash/Expressions.scala/)
[success] Total time: 0 s, completed 2018-1-8 17:24:16
[info] Updating Expressions...
[info] Updating ...
[info] Done updating.
[info] Done updating.
[info] Compiling 13 Scala sources to /private/tmp/crash/Expressions.scala/Expressions/target/scala-2.12/classes ...
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:99:22: The outer reference in this type test cannot be checked at run time.
[warn]     final case class Code(globalDeclarations: Fastring = Fastring.empty,
[warn]                      ^
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:110:24: The outer reference in this type test cannot be checked at run time.
[warn]       final case class Atom(value: Fastring) extends Accessor {
[warn]                        ^
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:115:24: The outer reference in this type test cannot be checked at run time.
[warn]       final case class Unpacked(unpacked: Seq[Fastring]) extends Accessor {
[warn]                        ^
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:122:24: The outer reference in this type test cannot be checked at run time.
[warn]       final case class Packed(packed: Fastring, numberOfFields: Int) extends Accessor {
[warn]                        ^
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:154:24: The outer reference in this type test cannot be checked at run time.
[warn]       final case class Structure(name: String, override val unpacked: Seq[String]) extends Accessor {
[warn]                        ^
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:158:24: The outer reference in this type test cannot be checked at run time.
[warn]       final case class Atom(name: String) extends Accessor {
[warn]                        ^
[warn] /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala:166:22: The outer reference in this type test cannot be checked at run time.
[warn]     final case class Code(globalDeclarations: Fastring = Fastring.empty,
[warn]                      ^
java.lang.AssertionError: assertion failed: 
  Trying to access the this of another class: tree.symbol = trait Expressions$TypeApi, class symbol = trait Expressions$TypeApi$TypedTermApi compilation unit: Expressions.scala
     while compiling: /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/Expressions.scala
        during phase: jvm
     library version: version 2.12.4-bin-typelevel-4
    compiler version: version 2.12.4-bin-typelevel-4
  reconstructed args: -Yliteral-types -deprecation -Ykind-polymorphism -feature -Ypartial-unification -Xexperimental -Yinduction-heuristics -explaintypes -bootclasspath /Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre/lib/sunrsasign.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre/classes:/Users/twer/.ivy2/cache/org.typelevel/scala-library/jars/scala-library-2.12.4-bin-typelevel-4.jar -classpath /private/tmp/crash/Expressions.scala/Expressions/target/scala-2.12/classes:/Users/twer/.ivy2/cache/com.thoughtworks.feature/partialapply_2.12/jars/partialapply_2.12-2.3.0-M4.jar:/Users/twer/.ivy2/cache/com.thoughtworks.feature/implicitapply_2.12/jars/implicitapply_2.12-2.3.0-M4.jar:/Users/twer/.ivy2/cache/com.github.mpilquist/simulacrum_2.12/jars/simulacrum_2.12-0.11.0.jar:/Users/twer/.ivy2/cache/org.typelevel/macro-compat_2.12/jars/macro-compat_2.12-1.1.1.jar:/Users/twer/.ivy2/cache/com.thoughtworks.feature/factory_2.12/jars/factory_2.12-2.3.0-M4.jar:/Users/twer/.ivy2/cache/com.thoughtworks.feature/untyper_2.12/jars/untyper_2.12-2.3.0-M4.jar:/Users/twer/.ivy2/cache/com.thoughtworks.extractor/extractor_2.12/jars/extractor_2.12-2.1.0.jar:/Users/twer/.ivy2/cache/com.thoughtworks.feature/the_2.12/jars/the_2.12-2.3.0-M4.jar:/Users/twer/.ivy2/cache/com.chuusai/shapeless_2.12/bundles/shapeless_2.12-2.3.3.jar:/Users/twer/.ivy2/cache/com.dongxiguo/fastring_2.12/jars/fastring_2.12-0.3.1.jar:/Users/twer/.ivy2/cache/org.typelevel/scala-reflect/jars/scala-reflect-2.12.4-bin-typelevel-4.jar:/Users/twer/.ivy2/cache/com.lihaoyi/sourcecode_2.12/bundles/sourcecode_2.12-0.1.4.jar:/Users/twer/.ivy2/cache/org.lwjgl/lwjgl-opencl/jars/lwjgl-opencl-3.1.5.jar:/Users/twer/.ivy2/cache/org.lwjgl/lwjgl/jars/lwjgl-3.1.5.jar:/Users/twer/.ivy2/cache/org.apache.commons/commons-math3/jars/commons-math3-3.6.1.jar -unchecked

  last tree to typer: Ident(first$3)
       tree position: line 118 of /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala
            tree tpe: runtime.BooleanRef
              symbol: private[this] value first$3
   symbol definition: private[this] first$3: runtime.BooleanRef (a TermSymbol)
      symbol package: com.thoughtworks.expressions
       symbol owners: value first$3 -> method $anonfun$foreach$7 -> <$anon: com.dongxiguo.fastring.Fastring>
           call site: value operand0 in trait ValueExpressions$ValueTypeApi$LiteralTermApi in package expressions

== Source file context for tree position ==

   115       final case class Unpacked(unpacked: Seq[Fastring]) extends Accessor {
   116         override def packed: Fastring = unpacked match {
   117           case Seq(single) => single
   118           case _           => fast"{ ${unpacked.mkFastring(", ")} }"
   119         }
   120       }
   121 
    at scala.tools.nsc.Global.assert(Global.scala:273)
    at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoad(BCodeBodyBuilder.scala:312)
    at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genComparisonOp$1(BCodeBodyBuilder.scala:1203)
    at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genCond(BCodeBodyBuilder.scala:1245)
    at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoadIf(BCodeBodyBuilder.scala:190)
    at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoad(BCodeBodyBuilder.scala:279)
    at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoadIf(BCodeBodyBuilder.scala:202)
    at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoad(BCodeBodyBuilder.scala:279)
    at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.$anonfun$genLoadArguments$1(BCodeBodyBuilder.scala:939)
    at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.$anonfun$genLoadArguments$1$adapted(BCodeBodyBuilder.scala:939)
    at scala.collection.immutable.List.foreach(List.scala:389)
    at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoadArguments(BCodeBodyBuilder.scala:939)
    at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genApply(BCodeBodyBuilder.scala:669)
    at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoad(BCodeBodyBuilder.scala:296)
    at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genStat(BCodeBodyBuilder.scala:80)
    at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.$anonfun$genBlock$1(BCodeBodyBuilder.scala:816)
    at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.$anonfun$genBlock$1$adapted(BCodeBodyBuilder.scala:816)
    at scala.collection.immutable.List.foreach(List.scala:389)
    at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genBlock(BCodeBodyBuilder.scala:816)
    at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoad(BCodeBodyBuilder.scala:366)
    at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.emitNormalMethodBody$1(BCodeSkelBuilder.scala:601)
    at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.genDefDef(BCodeSkelBuilder.scala:633)
    at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.gen(BCodeSkelBuilder.scala:492)
    at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.$anonfun$gen$7(BCodeSkelBuilder.scala:509)
    at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.$anonfun$gen$7$adapted(BCodeSkelBuilder.scala:509)
    at scala.collection.immutable.List.foreach(List.scala:389)
    at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.gen(BCodeSkelBuilder.scala:509)
    at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.genPlainClass(BCodeSkelBuilder.scala:110)
    at scala.tools.nsc.backend.jvm.CodeGen.genClass(CodeGen.scala:56)
    at scala.tools.nsc.backend.jvm.CodeGen.genClassDef$1(CodeGen.scala:26)
    at scala.tools.nsc.backend.jvm.CodeGen.genClassDefs$1(CodeGen.scala:44)
    at scala.tools.nsc.backend.jvm.CodeGen.$anonfun$genUnit$2(CodeGen.scala:43)
    at scala.tools.nsc.backend.jvm.CodeGen.$anonfun$genUnit$2$adapted(CodeGen.scala:43)
    at scala.collection.immutable.List.foreach(List.scala:389)
    at scala.tools.nsc.backend.jvm.CodeGen.genClassDefs$1(CodeGen.scala:43)
    at scala.tools.nsc.backend.jvm.CodeGen.genUnit(CodeGen.scala:47)
    at scala.tools.nsc.backend.jvm.GenBCode$BCodePhase.$anonfun$apply$1(GenBCode.scala:43)
    at scala.reflect.internal.util.Statistics.timed(Statistics.scala:303)
    at scala.tools.nsc.backend.jvm.GenBCode$BCodePhase.apply(GenBCode.scala:43)
    at scala.tools.nsc.Global$GlobalPhase.$anonfun$applyPhase$1(Global.scala:438)
    at scala.tools.nsc.Global$GlobalPhase.withCurrentUnitNoLog(Global.scala:431)
    at scala.tools.nsc.Global$GlobalPhase.withCurrentUnit(Global.scala:422)
    at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:438)
    at scala.tools.nsc.Global$GlobalPhase.$anonfun$run$1(Global.scala:402)
    at scala.tools.nsc.Global$GlobalPhase.$anonfun$run$1$adapted(Global.scala:402)
    at scala.collection.Iterator.foreach(Iterator.scala:929)
    at scala.collection.Iterator.foreach$(Iterator.scala:929)
    at scala.collection.AbstractIterator.foreach(Iterator.scala:1417)
    at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:402)
    at scala.tools.nsc.backend.jvm.GenBCode$BCodePhase.super$run(GenBCode.scala:53)
    at scala.tools.nsc.backend.jvm.GenBCode$BCodePhase.$anonfun$run$1(GenBCode.scala:53)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
    at scala.reflect.internal.util.Statistics.timed(Statistics.scala:303)
    at scala.tools.nsc.backend.jvm.GenBCode$BCodePhase.run(GenBCode.scala:51)
    at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1486)
    at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1470)
    at scala.tools.nsc.Global$Run.compileSources(Global.scala:1463)
    at scala.tools.nsc.Global$Run.compile(Global.scala:1579)
    at xsbt.CachedCompiler0.run(CompilerInterface.scala:130)
    at xsbt.CachedCompiler0.run(CompilerInterface.scala:105)
    at xsbt.CompilerInterface.run(CompilerInterface.scala:31)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at sbt.internal.inc.AnalyzingCompiler.call(AnalyzingCompiler.scala:237)
    at sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:111)
    at sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:90)
    at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$3(MixedAnalyzingCompiler.scala:83)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
    at sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:134)
    at sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:74)
    at sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:117)
    at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:305)
    at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:305)
    at sbt.internal.inc.Incremental$.doCompile(Incremental.scala:101)
    at sbt.internal.inc.Incremental$.$anonfun$compile$4(Incremental.scala:82)
    at sbt.internal.inc.IncrementalCommon.recompileClasses(IncrementalCommon.scala:110)
    at sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:57)
    at sbt.internal.inc.Incremental$.$anonfun$compile$3(Incremental.scala:84)
    at sbt.internal.inc.Incremental$.manageClassfiles(Incremental.scala:129)
    at sbt.internal.inc.Incremental$.compile(Incremental.scala:75)
    at sbt.internal.inc.IncrementalCompile$.apply(Compile.scala:61)
    at sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:309)
    at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:267)
    at sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:158)
    at sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:237)
    at sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:68)
    at sbt.Defaults$.compileIncrementalTaskImpl(Defaults.scala:1427)
    at sbt.Defaults$.$anonfun$compileIncrementalTask$1(Defaults.scala:1401)
    at scala.Function1.$anonfun$compose$1(Function1.scala:44)
    at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:39)
    at sbt.std.Transform$$anon$4.work(System.scala:66)
    at sbt.Execute.$anonfun$submit$2(Execute.scala:262)
    at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
    at sbt.Execute.work(Execute.scala:271)
    at sbt.Execute.$anonfun$submit$1(Execute.scala:262)
    at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:174)
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:36)
    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] Error while emitting Expressions.scala
[error] assertion failed: 
[error]   Trying to access the this of another class: tree.symbol = trait Expressions$TypeApi, class symbol = trait Expressions$TypeApi$TypedTermApi compilation unit: Expressions.scala
[error]      while compiling: /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/Expressions.scala
[error]         during phase: jvm
[error]      library version: version 2.12.4-bin-typelevel-4
[error]     compiler version: version 2.12.4-bin-typelevel-4
[error]   reconstructed args: -Yliteral-types -deprecation -Ykind-polymorphism -feature -Ypartial-unification -Xexperimental -Yinduction-heuristics -explaintypes -bootclasspath /Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre/lib/sunrsasign.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre/classes:/Users/twer/.ivy2/cache/org.typelevel/scala-library/jars/scala-library-2.12.4-bin-typelevel-4.jar -classpath /private/tmp/crash/Expressions.scala/Expressions/target/scala-2.12/classes:/Users/twer/.ivy2/cache/com.thoughtworks.feature/partialapply_2.12/jars/partialapply_2.12-2.3.0-M4.jar:/Users/twer/.ivy2/cache/com.thoughtworks.feature/implicitapply_2.12/jars/implicitapply_2.12-2.3.0-M4.jar:/Users/twer/.ivy2/cache/com.github.mpilquist/simulacrum_2.12/jars/simulacrum_2.12-0.11.0.jar:/Users/twer/.ivy2/cache/org.typelevel/macro-compat_2.12/jars/macro-compat_2.12-1.1.1.jar:/Users/twer/.ivy2/cache/com.thoughtworks.feature/factory_2.12/jars/factory_2.12-2.3.0-M4.jar:/Users/twer/.ivy2/cache/com.thoughtworks.feature/untyper_2.12/jars/untyper_2.12-2.3.0-M4.jar:/Users/twer/.ivy2/cache/com.thoughtworks.extractor/extractor_2.12/jars/extractor_2.12-2.1.0.jar:/Users/twer/.ivy2/cache/com.thoughtworks.feature/the_2.12/jars/the_2.12-2.3.0-M4.jar:/Users/twer/.ivy2/cache/com.chuusai/shapeless_2.12/bundles/shapeless_2.12-2.3.3.jar:/Users/twer/.ivy2/cache/com.dongxiguo/fastring_2.12/jars/fastring_2.12-0.3.1.jar:/Users/twer/.ivy2/cache/org.typelevel/scala-reflect/jars/scala-reflect-2.12.4-bin-typelevel-4.jar:/Users/twer/.ivy2/cache/com.lihaoyi/sourcecode_2.12/bundles/sourcecode_2.12-0.1.4.jar:/Users/twer/.ivy2/cache/org.lwjgl/lwjgl-opencl/jars/lwjgl-opencl-3.1.5.jar:/Users/twer/.ivy2/cache/org.lwjgl/lwjgl/jars/lwjgl-3.1.5.jar:/Users/twer/.ivy2/cache/org.apache.commons/commons-math3/jars/commons-math3-3.6.1.jar -unchecked
[error] 
[error]   last tree to typer: Ident(first$3)
[error]        tree position: line 118 of /private/tmp/crash/Expressions.scala/Expressions/src/main/scala/com/thoughtworks/expressions/OpenCLExpressions.scala
[error]             tree tpe: runtime.BooleanRef
[error]               symbol: private[this] value first$3
[error]    symbol definition: private[this] first$3: runtime.BooleanRef (a TermSymbol)
[error]       symbol package: com.thoughtworks.expressions
[error]        symbol owners: value first$3 -> method $anonfun$foreach$7 -> <$anon: com.dongxiguo.fastring.Fastring>
[error]            call site: value operand0 in trait ValueExpressions$ValueTypeApi$LiteralTermApi in package expressions
[error] 
[error] == Source file context for tree position ==
[error] 
[error]    115       final case class Unpacked(unpacked: Seq[Fastring]) extends Accessor {
[error]    116         override def packed: Fastring = unpacked match {
[error]    117           case Seq(single) => single
[error]    118           case _           => fast"{ ${unpacked.mkFastring(", ")} }"
[error]    119         }
[error]    120       }
[error]    121 
[warn] 7 warnings found
[error] one error found
[error] (Expressions / Compile / compileIncremental) Compilation failed
[error] Total time: 11 s, completed 2018-1-8 17:24:27
milessabin commented 6 years ago

Are you able to minimize this?

hamidr commented 6 years ago

It seems to me that #178 is related. The error messages look similar.