Closed
Description
object Test {
def res(x: quoted.Expr[Int]) given tasty.Reflection: quoted.Expr[Int] = x match {
case '{ 1 + (${Bind(b)}: Int) } => ???
case _ => ???
}
}
crashes after missing import is reported
-- [E006] Unbound Identifier Error: tests/pos/quotedPatterns.scala:5:19 --------
5 | case '{ (${Bind(b)}: Int) } => ???
| ^^^^^^^
| Not found: Bind
longer explanation available when compiling with `-explain`
exception occurred while typechecking tests/pos/quotedPatterns.scala
exception occurred while compiling tests/pos/quotedPatterns.scala
java.util.NoSuchElementException: head of empty list while compiling tests/pos/quotedPatterns.scala
Exception in thread "main" java.util.NoSuchElementException: head of empty list
at scala.collection.immutable.Nil$.head(List.scala:430)
at scala.collection.immutable.Nil$.head(List.scala:427)
at dotty.tools.dotc.ast.tpd$Splice$.apply(tpd.scala:1184)
at dotty.tools.dotc.typer.Typer.$anonfun$typedSplice$1(Typer.scala:2019)
at dotty.tools.dotc.util.Stats$.track(Stats.scala:37)
at dotty.tools.dotc.typer.Typer.typedSplice(Typer.scala:2006)
at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2135)
at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2149)
at dotty.tools.dotc.typer.Typer.$anonfun$typed$2(Typer.scala:2183)
at dotty.tools.dotc.reporting.TraceSyntax.apply(trace.scala:56)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2176)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2195)
at dotty.tools.dotc.typer.Typer.ascription$1(Typer.scala:577)
at dotty.tools.dotc.typer.Typer.$anonfun$typedTyped$5(Typer.scala:614)
at dotty.tools.dotc.typer.Typer.cases$1(Typer.scala:566)
at dotty.tools.dotc.typer.Typer.$anonfun$typedTyped$1(Typer.scala:612)
at dotty.tools.dotc.util.Stats$.track(Stats.scala:37)
at dotty.tools.dotc.typer.Typer.typedTyped(Typer.scala:552)
at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2099)
at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2149)
at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2137)
at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2149)
at dotty.tools.dotc.typer.Typer.$anonfun$typed$2(Typer.scala:2183)
at dotty.tools.dotc.reporting.TraceSyntax.apply(trace.scala:56)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2176)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2195)
at dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:2271)
at dotty.tools.dotc.typer.Typer.$anonfun$typedQuote$1(Typer.scala:1944)
at dotty.tools.dotc.util.Stats$.track(Stats.scala:37)
at dotty.tools.dotc.typer.Typer.typedQuote(Typer.scala:1934)
at dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:2134)
at dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:2149)
at dotty.tools.dotc.typer.Typer.$anonfun$typed$2(Typer.scala:2183)
at dotty.tools.dotc.reporting.TraceSyntax.apply(trace.scala:56)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2176)
at dotty.tools.dotc.typer.Typer.typed(Typer.scala:2195)
at dotty.tools.dotc.typer.Typer.typedPattern(Typer.scala:2275)
at dotty.tools.dotc.typer.Typer.$anonfun$typedCase$1(Typer.scala:1122)
at dotty.tools.dotc.util.Stats$.track(Stats.scala:37)
at dotty.tools.dotc.typer.Typer.typedCase(Typer.scala:1109)
at dotty.tools.dotc.typer.Typer.$anonfun$typedCases$1(Typer.scala:1081)
at dotty.tools.dotc.core.Decorators$ListDecorator$.loop$1(Decorators.scala:62)