diff options
author | Martin Odersky <odersky@gmail.com> | 2016-02-18 14:48:45 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2016-02-20 10:19:57 +0100 |
commit | 27d91f90c8f6c295dd03dc98be61c10c77d775a7 (patch) | |
tree | da1297343dcd27e455e0a0739597041dc092b29b /src/dotty/tools/dotc/typer/Typer.scala | |
parent | e4989b3cc13f70d8316790e309b5d3b27317d80e (diff) | |
download | dotty-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.scala | 5 |
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 _ => |