Skip to content

Slow compilation involving LazyList #11883

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
OlegYch opened this issue Feb 11, 2020 · 9 comments
Closed

Slow compilation involving LazyList #11883

OlegYch opened this issue Feb 11, 2020 · 9 comments
Milestone

Comments

@OlegYch
Copy link

OlegYch commented Feb 11, 2020

class Test() {
  private def f: Vector[Vector[Int]] = {
    for {
      _               <- Vector(Vector[Int]())
      a = if (true) Vector[Int]() else LazyList[Int]()
      b     = Vector() ++ a ++ Vector()
    } yield b
  }
}

scalacOptions: -deprecation, -unchecked, -encoding, utf8, -feature, -unchecked, -deprecation, -explaintypes, -encoding, UTF8, -language:_, -Xlint:-unused,_

takes about 30 seconds to compile on scala 2.13.1
probably caused by #10908

@Jasper-M
Copy link

Jasper-M commented Feb 11, 2020

This line seems to be sufficient. 😂

scala> if (true) Vector[Int]() else LazyList[Int]()
error: Error while emitting 
UTF8 string too large

Looks like every (sub)expression that uses that value considerably increases compilation time. Yours takes the cake though.

@OlegYch
Copy link
Author

OlegYch commented Feb 11, 2020

@Jasper-M i wish it had failed right away and we didn't have tp chase it for three days

@SethTisue SethTisue added this to the 2.13.2 milestone Feb 11, 2020
@SethTisue
Copy link
Member

SethTisue commented Feb 11, 2020

thanks Oleg for taking the time to isolate this

@SethTisue SethTisue modified the milestones: 2.13.2, Backlog Feb 11, 2020
@SethTisue
Copy link
Member

SethTisue commented Feb 11, 2020

duplicate of #10908

I was tempted to milestone this for 2.13.2 or 2.13.3, but it's totally unclear what a fix might look like. I'll call the team's attention to #10908 and see if anybody has any idea for fixing it

@tribbloid
Copy link

Does the error message:

Error while emitting 
UTF8 string too large

Always appear if the type become too complex? How can we debug it or see the stacktrace when the error was thrown?

@SethTisue
Copy link
Member

SethTisue commented Apr 26, 2021

The UTF8 string too large part comes from ASM; the Error while emitting comes from backend.jvm.CodeGen, which catches the exception coming from ASM. Running with -Ydebug will get you a stack trace. Println debugging and attaching a debugger to the compiler are both possibilities; a pull request improving the diagnostic output when this error occurs would be welcome.

@tribbloid
Copy link

Thanks, the -Ydebug feature seems to be broken and causes a new error just by enabling:

java.lang.AssertionError: assertion failed: 
  class Array
     while compiling: /home/peng/git/shapesafe/core/src/main/scala/org/shapesafe/core/util/Constraint.scala
        during phase: jvm
     library version: version 2.13.5
    compiler version: version 2.13.5
  reconstructed args: -bootclasspath /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/resources.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jsse.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jce.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/charsets.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jfr.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/classes:/home/peng/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-library/2.13.5/d0df6e78b6ccb0102cb0395bfa8cb806e9e81b61/scala-library-2.13.5.jar -deprecation -feature -unchecked -Wconf:cat=feature:w -Wconf:cat=deprecation:w -Wconf:cat=unchecked:w -Wconf:cat=unchecked:w -Wconf:cat=deprecation:w -Wconf:cat=deprecation:ws -Wconf:cat=feature:ws -Wconf:cat=optimizer:ws -Xlint:poly-implicit-overload -Xlint:option-implicit -classpath /home/peng/git/shapesafe/macro/build/classes/kotlin/main:/home/peng/git/shapesafe/macro/build/classes/java/main:/home/peng/git/shapesafe/macro/build/classes/scala/main:/home/peng/git/shapesafe/graph-commons/build/classes/kotlin/main:/home/peng/git/shapesafe/graph-commons/build/classes/java/main:/home/peng/git/shapesafe/graph-commons/build/classes/scala/main:/home/peng/.gradle/caches/modules-2/files-2.1/eu.timepit/singleton-ops_2.13/0.5.2/684ce1cf4a88a9998ac5fc279545611ee9534e34/singleton-ops_2.13-0.5.2.jar:/home/peng/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.4.30/d10d1e10f47006ee08162dde039e38ac487de4ac/kotlin-stdlib-1.4.30.jar:/home/peng/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-compiler/2.13.5/89f92380397757b03411693c2a3391e84b79e478/scala-compiler-2.13.5.jar:/home/peng/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-reflect/2.13.5/8dee4d8c5374920f2db2f5f55d9dd6ecd4194cc/scala-reflect-2.13.5.jar:/home/peng/.gradle/caches/modules-2/files-2.1/com.chuusai/shapeless_2.13/2.3.3/61817a5ac96ba59ce20b9073416c57519be40f41/shapeless_2.13-2.3.3.jar:/home/peng/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-library/2.13.5/d0df6e78b6ccb0102cb0395bfa8cb806e9e81b61/scala-library-2.13.5.jar:/home/peng/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.4.30/bb9a3173350f55732416ee27956ea8f9b81f4dbb/kotlin-stdlib-common-1.4.30.jar:/home/peng/.m2/repository/org/jetbrains/annotations/13.0/annotations-13.0.jar:/home/peng/.gradle/caches/modules-2/files-2.1/org.jline/jline/3.19.0/27edf6497c4fac20b63ca4cd8788581ca86cb83e/jline-3.19.0.jar:/home/peng/.m2/repository/net/java/dev/jna/jna/5.3.1/jna-5.3.1.jar:/home/peng/git/shapesafe/core/build/classes/java/main:/home/peng/git/shapesafe/core/build/classes/scala/main -language:higherKinds -Vdebug -Vissue

  last tree to typer: Literal(Constant(util.this.RecordView.type))
       tree position: line 34 of /home/peng/git/shapesafe/core/src/main/scala/org/shapesafe/core/util/RecordView.scala
            tree tpe: Class(classOf[org.shapesafe.core.util.RecordView$])
              symbol: null
           call site: primary constructor package in package class util in package util

== Source file context for tree position ==

    31 
    32 }
    33 
    34 object RecordView {}
    35 
        at scala.reflect.internal.SymbolTable.throwAssertionError(SymbolTable.scala:170)
        at scala.tools.nsc.backend.jvm.BTypesFromSymbols.assertClassNotArray(BTypesFromSymbols.scala:221)
        at scala.tools.nsc.backend.jvm.BTypesFromSymbols.assertClassNotArrayNotPrimitive(BTypesFromSymbols.scala:225)
        at scala.tools.nsc.backend.jvm.BTypesFromSymbols.classBTypeFromSymbol(BTypesFromSymbols.scala:96)
        at scala.tools.nsc.backend.jvm.BCodeHelpers$BCJGenSigGen.$anonfun$getGenericSignature$2(BCodeHelpers.scala:673)
        at scala.tools.nsc.backend.jvm.BCodeHelpers$BCJGenSigGen.enterReferencedClass$1(BCodeHelpers.scala:673)
        at scala.tools.nsc.backend.jvm.BCodeHelpers$BCJGenSigGen.$anonfun$getGenericSignature$3(BCodeHelpers.scala:680)
        at scala.tools.nsc.backend.jvm.BCodeHelpers$BCJGenSigGen.$anonfun$getGenericSignature$3$adapted(BCodeHelpers.scala:680)
        at scala.tools.nsc.transform.Erasure.jsig$1(Erasure.scala:302)
        at scala.tools.nsc.transform.Erasure.argSig$1(Erasure.scala:244)
        at scala.tools.nsc.transform.Erasure.$anonfun$javaSig0$7(Erasure.scala:327)
        at scala.tools.nsc.transform.Erasure.$anonfun$javaSig0$7$adapted(Erasure.scala:327)
        at scala.tools.nsc.transform.Erasure.jsig$1(Erasure.scala:327)
        at scala.tools.nsc.transform.Erasure.$anonfun$javaSig0$11(Erasure.scala:275)
        at scala.tools.nsc.transform.Erasure.$anonfun$javaSig0$11$adapted(Erasure.scala:375)
        at scala.tools.nsc.transform.Erasure.jsig$1(Erasure.scala:375)
        at scala.tools.nsc.transform.Erasure.jsig$1(Erasure.scala:275)
        at scala.tools.nsc.transform.Erasure.javaSig0(Erasure.scala:411)
        at scala.tools.nsc.transform.Erasure.$anonfun$javaSig$1(Erasure.scala:218)
        at scala.tools.nsc.backend.jvm.BCodeHelpers$BCJGenSigGen.getGenericSignature(BCodeHelpers.scala:680)
        at scala.tools.nsc.backend.jvm.BCodeHelpers$BCJGenSigGen.getGenericSignature$(BCodeHelpers.scala:667)
        at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.getGenericSignature(BCodeSkelBuilder.scala:51)
        at scala.tools.nsc.backend.jvm.BCodeHelpers$BCJGenSigGen.getGenericSignature(BCodeHelpers.scala:664)
        at scala.tools.nsc.backend.jvm.BCodeHelpers$BCJGenSigGen.getGenericSignature$(BCodeHelpers.scala:662)
        at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.getGenericSignature(BCodeSkelBuilder.scala:51)
        at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.initJMethod(BCodeSkelBuilder.scala:559)
        at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.genDefDef(BCodeSkelBuilder.scala:619)
        at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.gen(BCodeSkelBuilder.scala:546)
        at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.gen(BCodeSkelBuilder.scala:548)
        at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.genPlainClass(BCodeSkelBuilder.scala:157)
        at scala.tools.nsc.backend.jvm.CodeGen.genClass(CodeGen.scala:76)
        at scala.tools.nsc.backend.jvm.CodeGen.genClassDef$1(CodeGen.scala:40)
        at scala.tools.nsc.backend.jvm.CodeGen.$anonfun$genUnit$3(CodeGen.scala:60)
        at scala.tools.nsc.backend.jvm.CodeGen.genClassDefs$1(CodeGen.scala:60)
        at scala.tools.nsc.backend.jvm.CodeGen.$anonfun$genUnit$2(CodeGen.scala:59)
        at scala.tools.nsc.backend.jvm.CodeGen.genClassDefs$1(CodeGen.scala:59)
        at scala.tools.nsc.backend.jvm.CodeGen.$anonfun$genUnit$4(CodeGen.scala:65)
        at scala.tools.nsc.backend.jvm.CodeGen.genUnit(CodeGen.scala:65)
        at scala.tools.nsc.backend.jvm.GenBCode$BCodePhase.apply(GenBCode.scala:74)
        at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:454)
        at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:401)
        at scala.tools.nsc.backend.jvm.GenBCode$BCodePhase.super$run(GenBCode.scala:80)
        at scala.tools.nsc.backend.jvm.GenBCode$BCodePhase.$anonfun$run$1(GenBCode.scala:80)
        at scala.tools.nsc.backend.jvm.GenBCode$BCodePhase.run(GenBCode.scala:78)
        at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1524)
        at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1508)
        at scala.tools.nsc.Global$Run.compileSources(Global.scala:1500)
        at scala.tools.nsc.Global$Run.compile(Global.scala:1635)
        at xsbt.CachedCompiler0.run(CompilerInterface.scala:153)
        at xsbt.CachedCompiler0.run(CompilerInterface.scala:125)
        at xsbt.CompilerInterface.run(CompilerInterface.scala:39)
        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:248)
        at sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:122)
        at sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:95)
        at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:91)
        at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
        at sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:186)
        at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$3(MixedAnalyzingCompiler.scala:82)
        at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$3$adapted(MixedAnalyzingCompiler.scala:77)
        at sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:215)
        at sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:77)
        at sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:146)
        at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:343)
        at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:343)
        at sbt.internal.inc.Incremental$.doCompile(Incremental.scala:120)
        at sbt.internal.inc.Incremental$.$anonfun$compile$4(Incremental.scala:100)
        at sbt.internal.inc.IncrementalCommon.recompileClasses(IncrementalCommon.scala:180)
        at sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:98)
        at sbt.internal.inc.Incremental$.$anonfun$compile$3(Incremental.scala:102)
        at sbt.internal.inc.Incremental$.manageClassfiles(Incremental.scala:155)
        at sbt.internal.inc.Incremental$.compile(Incremental.scala:92)
        at sbt.internal.inc.IncrementalCompile$.apply(Compile.scala:75)
        at sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:348)
        at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:301)
        at sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:168)
        at sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:248)
        at sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:74)
        at org.gradle.api.internal.tasks.scala.ZincScalaCompiler.execute(ZincScalaCompiler.java:159)
        at org.gradle.api.internal.tasks.scala.ZincScalaCompilerFacade.execute(ZincScalaCompilerFacade.java:47)
        at org.gradle.api.internal.tasks.scala.ZincScalaCompilerFacade.execute(ZincScalaCompilerFacade.java:31)
        at org.gradle.api.internal.tasks.compile.daemon.AbstractDaemonCompiler$CompilerWorkAction.execute(AbstractDaemonCompiler.java:135)
        at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
        at org.gradle.workers.internal.AbstractClassLoaderWorker$1.create(AbstractClassLoaderWorker.java:49)
        at org.gradle.workers.internal.AbstractClassLoaderWorker$1.create(AbstractClassLoaderWorker.java:43)
        at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:97)
        at org.gradle.workers.internal.AbstractClassLoaderWorker.executeInClassLoader(AbstractClassLoaderWorker.java:43)
        at org.gradle.workers.internal.IsolatedClassloaderWorker.run(IsolatedClassloaderWorker.java:49)
        at org.gradle.workers.internal.IsolatedClassloaderWorker.run(IsolatedClassloaderWorker.java:30)
        at org.gradle.workers.internal.WorkerDaemonServer.run(WorkerDaemonServer.java:85)
        at org.gradle.workers.internal.WorkerDaemonServer.run(WorkerDaemonServer.java:55)
        at org.gradle.process.internal.worker.request.WorkerAction$1.call(WorkerAction.java:138)
        at org.gradle.process.internal.worker.child.WorkerLogEventListener.withWorkerLoggingProtocol(WorkerLogEventListener.java:41)
        at org.gradle.process.internal.worker.request.WorkerAction.run(WorkerAction.java:135)
        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 org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
        at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
        at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)
        at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)
        at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:414)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
        at java.lang.Thread.run(Thread.java:748)
[Error] : Error while emitting Constraint.scala
assertion failed: 
  class Array
     while compiling: /home/peng/git/shapesafe/core/src/main/scala/org/shapesafe/core/util/Constraint.scala
        during phase: jvm
     library version: version 2.13.5
    compiler version: version 2.13.5
  reconstructed args: -bootclasspath /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/resources.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jsse.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jce.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/charsets.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jfr.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/classes:/home/peng/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-library/2.13.5/d0df6e78b6ccb0102cb0395bfa8cb806e9e81b61/scala-library-2.13.5.jar -deprecation -feature -unchecked -Wconf:cat=feature:w -Wconf:cat=deprecation:w -Wconf:cat=unchecked:w -Wconf:cat=unchecked:w -Wconf:cat=deprecation:w -Wconf:cat=deprecation:ws -Wconf:cat=feature:ws -Wconf:cat=optimizer:ws -Xlint:poly-implicit-overload -Xlint:option-implicit -classpath /home/peng/git/shapesafe/macro/build/classes/kotlin/main:/home/peng/git/shapesafe/macro/build/classes/java/main:/home/peng/git/shapesafe/macro/build/classes/scala/main:/home/peng/git/shapesafe/graph-commons/build/classes/kotlin/main:/home/peng/git/shapesafe/graph-commons/build/classes/java/main:/home/peng/git/shapesafe/graph-commons/build/classes/scala/main:/home/peng/.gradle/caches/modules-2/files-2.1/eu.timepit/singleton-ops_2.13/0.5.2/684ce1cf4a88a9998ac5fc279545611ee9534e34/singleton-ops_2.13-0.5.2.jar:/home/peng/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.4.30/d10d1e10f47006ee08162dde039e38ac487de4ac/kotlin-stdlib-1.4.30.jar:/home/peng/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-compiler/2.13.5/89f92380397757b03411693c2a3391e84b79e478/scala-compiler-2.13.5.jar:/home/peng/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-reflect/2.13.5/8dee4d8c5374920f2db2f5f55d9dd6ecd4194cc/scala-reflect-2.13.5.jar:/home/peng/.gradle/caches/modules-2/files-2.1/com.chuusai/shapeless_2.13/2.3.3/61817a5ac96ba59ce20b9073416c57519be40f41/shapeless_2.13-2.3.3.jar:/home/peng/.gradle/caches/modules-2/files-2.1/org.scala-lang/scala-library/2.13.5/d0df6e78b6ccb0102cb0395bfa8cb806e9e81b61/scala-library-2.13.5.jar:/home/peng/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.4.30/bb9a3173350f55732416ee27956ea8f9b81f4dbb/kotlin-stdlib-common-1.4.30.jar:/home/peng/.m2/repository/org/jetbrains/annotations/13.0/annotations-13.0.jar:/home/peng/.gradle/caches/modules-2/files-2.1/org.jline/jline/3.19.0/27edf6497c4fac20b63ca4cd8788581ca86cb83e/jline-3.19.0.jar:/home/peng/.m2/repository/net/java/dev/jna/jna/5.3.1/jna-5.3.1.jar:/home/peng/git/shapesafe/core/build/classes/java/main:/home/peng/git/shapesafe/core/build/classes/scala/main -language:higherKinds -Vdebug -Vissue

  last tree to typer: Literal(Constant(util.this.RecordView.type))
       tree position: line 34 of /home/peng/git/shapesafe/core/src/main/scala/org/shapesafe/core/util/RecordView.scala
            tree tpe: Class(classOf[org.shapesafe.core.util.RecordView$])
              symbol: null
           call site: primary constructor package in package class util in package util

== Source file context for tree position ==

    31 
    32 }
    33 
    34 object RecordView {}
    35 
100 warnings found
one error found

@tribbloid
Copy link

In the mean time, the argument "-debug" seems to be missing from the canonical documentation:

https://docs.scala-lang.org/overviews/compiler-options/index.html

It may be experimental

@som-snytt
Copy link

@tribbloid that assert was just removed by scala/scala#9583

For the option, see -Vdebug or -Ydebug under Verbose.

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

No branches or pull requests

5 participants