Skip to content
This repository has been archived by the owner on Sep 1, 2020. It is now read-only.

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 this issue Jan 8, 2018 · 2 comments

Comments

@Atry
Copy link

Atry commented Jan 8, 2018

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
Copy link
Member

Are you able to minimize this?

@hamidr
Copy link

hamidr commented Jan 28, 2018

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

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants