Skip to content

Type splices containing TypeVars not handled #4774

Closed
@nicolasstucki

Description

@nicolasstucki
object Test {
  def loop[T](x: Expr[T])(implicit t: Type[T]): Expr[T] =
    '{ val y: ~t = ~x; ~loop('(y)) }
}

crashes with

Exception in thread "main" java.lang.ClassCastException: dotty.tools.dotc.core.Types$TypeVar cannot be cast to dotty.tools.dotc.core.Types$TypeRef
	at dotty.tools.dotc.transform.ReifyQuotes$Reifier.$anonfun$transform$2(ReifyQuotes.scala:570)
	at dotty.tools.dotc.reporting.trace$.apply(trace.scala:40)
	at dotty.tools.dotc.reporting.trace$.apply(trace.scala:48)
	at dotty.tools.dotc.transform.ReifyQuotes$Reifier.transform(ReifyQuotes.scala:558)
	at dotty.tools.dotc.ast.Trees$Instance$TreeMap.$anonfun$transform$6(Trees.scala:1256)
	at scala.collection.immutable.List.mapConserve(List.scala:176)
	at dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1256)
	at dotty.tools.dotc.ast.Trees$Instance$TreeMap.transform(Trees.scala:1170)
	at dotty.tools.dotc.transform.MacroTransform$Transformer.transform(MacroTransform.scala:63)
	at dotty.tools.dotc.transform.MacroTransformWithImplicits$ImplicitsTransformer.transform(MacroTransformWithImplicits.scala:86)
...

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