Skip to content

Wrong owner for quoted pattern bind symbol #6214

Closed
@nicolasstucki

Description

@nicolasstucki
object Test {
  def res(x: quoted.Expr[Int]) given tasty.Reflection: quoted.Expr[Int] = x match {
    case '{ val a: Int = $y; 1} => y
  }
}

fail to Ycheck

exception while typing {
  case val y: scala.quoted.Expr[Int] = x4._1
  return[matchResult1] 
    {
      y:scala.quoted.Expr[Int]
    }
} of class class dotty.tools.dotc.ast.Trees$Block # 1604
...
...
...
*** error while checking tests/pos/quotedPatterns.scala after phase crossCast ***
exception occurred while compiling tests/pos/quotedPatterns.scala
java.lang.AssertionError: assertion failed: bad owner; value y has owner value a, expected was method res
owner chain = value y, value a, method res, object Test, package <empty>, package <root>, ctxOwners = method res, method res, method res, method res, method res, method res, object Test, object Test, object Test, package <empty>, package <root>, package <root>, package <root>, package <root>, package <root>, package <root>, package <root>, package <root>, <none>, <none>, <none>, <none> while compiling tests/pos/quotedPatterns.scala
Exception in thread "main" java.lang.AssertionError: assertion failed: bad owner; value y has owner value a, expected was method res
owner chain = value y, value a, method res, object Test, package <empty>, package <root>, ctxOwners = method res, method res, method res, method res, method res, method res, object Test, object Test, object Test, package <empty>, package <root>, package <root>, package <root>, package <root>, package <root>, package <root>, package <root>, package <root>, <none>, <none>, <none>, <none>
	at scala.Predef$.assert(Predef.scala:223)
	at dotty.tools.dotc.transform.TreeChecker$Checker.checkOwner(TreeChecker.scala:356)
	at dotty.tools.dotc.transform.TreeChecker$Checker.$anonfun$typedStats$1(TreeChecker.scala:425)
	at dotty.tools.dotc.transform.TreeChecker$Checker.$anonfun$typedStats$1$adapted(TreeChecker.scala:424)
	at scala.collection.immutable.List.foreach(List.scala:392)
	at dotty.tools.dotc.transform.TreeChecker$Checker.typedStats(TreeChecker.scala:424)
	at dotty.tools.dotc.typer.Typer.typedBlockStats(Typer.scala:698)
	at dotty.tools.dotc.typer.Typer.$anonfun$typedBlock$1(Typer.scala:701)
	at dotty.tools.dotc.util.Stats$.track(Stats.scala:37)
	at dotty.tools.dotc.typer.Typer.typedBlock(Typer.scala:700)
	at dotty.tools.dotc.transform.TreeChecker$Checker.super$typedBlock(TreeChecker.scala:411)
	at dotty.tools.dotc.transform.TreeChecker$Checker.$anonfun$typedBlock$1(TreeChecker.scala:411)
	at dotty.tools.dotc.transform.TreeChecker$Checker.withDefinedSyms(TreeChecker.scala:169)
	at dotty.tools.dotc.transform.TreeChecker$Checker.typedBlock(TreeChecker.scala:411)
	at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2077)
	at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2124)
	at dotty.tools.dotc.typer.ReTyper.typedUnadapted(ReTyper.scala:117)
	at dotty.tools.dotc.transform.TreeChecker$Checker.typedUnadapted(TreeChecker.scala:267)
	...

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions