aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/typer/Typer.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2016-02-18 14:48:45 +0100
committerMartin Odersky <odersky@gmail.com>2016-02-20 10:19:57 +0100
commit27d91f90c8f6c295dd03dc98be61c10c77d775a7 (patch)
treeda1297343dcd27e455e0a0739597041dc092b29b /src/dotty/tools/dotc/typer/Typer.scala
parente4989b3cc13f70d8316790e309b5d3b27317d80e (diff)
downloaddotty-27d91f90c8f6c295dd03dc98be61c10c77d775a7.tar.gz
dotty-27d91f90c8f6c295dd03dc98be61c10c77d775a7.tar.bz2
dotty-27d91f90c8f6c295dd03dc98be61c10c77d775a7.zip
Make type fully defined before searching for a ClassTag for it
Diffstat (limited to 'src/dotty/tools/dotc/typer/Typer.scala')
-rw-r--r--src/dotty/tools/dotc/typer/Typer.scala5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/typer/Typer.scala b/src/dotty/tools/dotc/typer/Typer.scala
index 445037228..a1d650d2d 100644
--- a/src/dotty/tools/dotc/typer/Typer.scala
+++ b/src/dotty/tools/dotc/typer/Typer.scala
@@ -1547,11 +1547,12 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit
if (formal.isRef(defn.ClassTagClass))
formal.argTypes match {
case arg :: Nil =>
- arg.underlyingClassRef(refinementOK = false) match {
+ val tp = fullyDefinedType(arg, "ClassTag argument", tree.pos)
+ tp.underlyingClassRef(refinementOK = false) match {
case tref: TypeRef =>
return ref(defn.ClassTagModule)
.select(nme.apply)
- .appliedToType(arg)
+ .appliedToType(tp)
.appliedTo(clsOf(tref))
.withPos(tree.pos.endPos)
case _ =>