Skip to content

yyCheck:all. don't like using objects without Companions from macroses #11331

Closed
@rssh

Description

@rssh

Compiler version

Latest Dotty nightly build version: 3.0.0-M4-bin-20210205-f42279d-NIGHTLY

Minimized code

file X.scala:

package x

import scala.quoted._

class A


object X:

 inline def process[T](inline f:T) = ${
   processImpl[T]('f)
 }

 def processImpl[T:Type](t:Expr[T])(using Quotes):Expr[T] =
   import quotes.reflect._
   t

file Main.scala:

package x

object Main:

 def main(args:Array[String]):Unit =
   X.process{
    val a = new A
    a
   }

-Ycheck: all is essential for reproducing

Output (click arrow to expand)

[info] checking /Users/rssh/tests/dotty/crash-yycheck-all-companion/src/main/scala/x/Main.scala after phase staging
dotty.tools.dotc.core.Denotations$StaleSymbol: stale symbol; module class A$#3410 in module class x, defined in Period(1..63, run = 2), is referred to in run Period(17..17, run = 3) while compiling /Users/rssh/tests/dotty/crash-yycheck-all-companion/src/main/scala/x/Main.scala, /Users/rssh/tests/dotty/crash-yycheck-all-companion/src/main/scala/x/X.scala
[error] ## Exception when compiling 2 sources to /Users/rssh/tests/dotty/crash-yycheck-all-companion/target/scala-3.0.0-M4/classes
[error] dotty.tools.dotc.core.Denotations$StaleSymbol: stale symbol; module class A$#3410 in module class x, defined in Period(1..63, run = 2), is referred to in run Period(17..17, run = 3)
[error] dotty.tools.dotc.core.Denotations$SingleDenotation.staleSymbolError(Denotations.scala:930)
[error] dotty.tools.dotc.core.Denotations$SingleDenotation.bringForward(Denotations.scala:727)
[error] dotty.tools.dotc.core.Denotations$SingleDenotation.toNewRun$1(Denotations.scala:778)
[error] dotty.tools.dotc.core.Denotations$SingleDenotation.current(Denotations.scala:852)
[error] dotty.tools.dotc.core.Symbols$Symbol.recomputeDenot(Symbols.scala:122)
[error] dotty.tools.dotc.core.Symbols$Symbol.computeDenot(Symbols.scala:116)
[error] dotty.tools.dotc.core.Symbols$Symbol.denot(Symbols.scala:109)
[error] dotty.tools.dotc.core.Symbols$.toDenot(Symbols.scala:494)
[error] dotty.tools.dotc.core.SymDenotations$ClassDenotation.registeredCompanion(SymDenotations.scala:2207)
[error] dotty.tools.dotc.core.SymDenotations$SymDenotation.companionModule(SymDenotations.scala:1174)
[error] dotty.tools.dotc.core.SymDenotations$SymDenotation.linkedClass(SymDenotations.scala:1228)
[error] dotty.tools.dotc.core.SymDenotations$SymDenotation.isLinkedWith(SymDenotations.scala:1220)
[error] dotty.tools.dotc.core.tasty.TreePickler.isLocallyDefined(TreePickler.scala:118)
[error] dotty.tools.dotc.core.tasty.TreePickler.pickleNewType(TreePickler.scala:227)
[error] dotty.tools.dotc.core.tasty.TreePickler.pickleType(TreePickler.scala:171)
[error] dotty.tools.dotc.core.tasty.TreePickler.pickleTree(TreePickler.scala:610)
[error] dotty.tools.dotc.core.tasty.TreePickler.pickleTpt(TreePickler.scala:327)
[error] dotty.tools.dotc.core.tasty.TreePickler.pickleTree$$anonfun$6(TreePickler.scala:468)
[error] dotty.tools.dotc.core.tasty.TreePickler.withLength(TreePickler.scala:69)
[error] dotty.tools.dotc.core.tasty.TreePickler.pickleTree(TreePickler.scala:468)
[error] dotty.tools.dotc.core.tasty.TreePickler.pickleTree$$anonfun$9(TreePickler.scala:479)
[error] dotty.tools.dotc.core.tasty.TreePickler.withLength(TreePickler.scala:69)
[error] dotty.tools.dotc.core.tasty.TreePickler.pickleTree(TreePickler.scala:479)
[error] dotty.tools.dotc.core.tasty.TreePickler.pickleTree$$anonfun$19(TreePickler.scala:523)
[error] dotty.tools.dotc.core.tasty.TreePickler.withLength(TreePickler.scala:69)
[error] dotty.tools.dotc.core.tasty.TreePickler.pickleTree(TreePickler.scala:529)
[error] dotty.tools.dotc.core.tasty.TreePickler.pickleTree$$anonfun$6(TreePickler.scala:468)
[error] dotty.tools.dotc.core.tasty.TreePickler.withLength(TreePickler.scala:69)
[error] dotty.tools.dotc.core.tasty.TreePickler.pickleTree(TreePickler.scala:468)
[error] dotty.tools.dotc.core.tasty.TreePickler.pickleTree$$anonfun$19(TreePickler.scala:523)
[error] dotty.tools.dotc.core.tasty.TreePickler.withLength(TreePickler.scala:69)
[error] dotty.tools.dotc.core.tasty.TreePickler.pickleTree(TreePickler.scala:529)
[error] dotty.tools.dotc.core.tasty.TreePickler.pickleTree$$anonfun$40$$anonfun$1(TreePickler.scala:479)
[error] scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] scala.collection.immutable.List.foreach(List.scala:333)
[error] dotty.tools.dotc.core.tasty.TreePickler.pickleTree$$anonfun$9(TreePickler.scala:479)
[error] dotty.tools.dotc.core.tasty.TreePickler.withLength(TreePickler.scala:69)
[error] dotty.tools.dotc.core.tasty.TreePickler.pickleTree(TreePickler.scala:479)
[error] dotty.tools.dotc.core.tasty.TreePickler.pickleTreeUnlessEmpty(TreePickler.scala:330)
[error] dotty.tools.dotc.core.tasty.TreePickler.pickleDef$$anonfun$1(TreePickler.scala:345)
[error] dotty.tools.dotc.core.tasty.TreePickler.withLength(TreePickler.scala:69)
[error] dotty.tools.dotc.core.tasty.TreePickler.pickleDef(TreePickler.scala:347)
[error] dotty.tools.dotc.core.tasty.TreePickler.pickleTree(TreePickler.scala:566)
[error] dotty.tools.dotc.core.tasty.TreePickler.pickleStats$$anonfun$2(TreePickler.scala:371)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions