diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2012-11-30 07:46:33 +0100 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2012-12-06 10:56:06 +0100 |
commit | 3a6f3aea9292d590d81d318622a9fbd7c599089d (patch) | |
tree | 3305572a62d902b9b934c6a2e96e15509df8727d /src | |
parent | f50131d70dfe5b18107d7037a72362249640c54b (diff) | |
download | scala-3a6f3aea9292d590d81d318622a9fbd7c599089d.tar.gz scala-3a6f3aea9292d590d81d318622a9fbd7c599089d.tar.bz2 scala-3a6f3aea9292d590d81d318622a9fbd7c599089d.zip |
SI-6338 fixes the unchecked warning in quick.comp
All those months when I thought it was yet another spurious error
in the new pattern matcher...
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/tools/nsc/interpreter/TypeStrings.scala | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/interpreter/TypeStrings.scala b/src/compiler/scala/tools/nsc/interpreter/TypeStrings.scala index 6abb52a649..60399f53bf 100644 --- a/src/compiler/scala/tools/nsc/interpreter/TypeStrings.scala +++ b/src/compiler/scala/tools/nsc/interpreter/TypeStrings.scala @@ -212,7 +212,11 @@ trait TypeStrings { } private def tparamString[T: ru.TypeTag] : String = { - def typeArguments: List[ru.Type] = ru.typeOf[T] match { case ru.TypeRef(_, _, args) => args; case _ => Nil } + def typeArguments: List[ru.Type] = { + import ru.TypeRefTag // otherwise the pattern match will be unchecked + // because TypeRef is an abstract type + ru.typeOf[T] match { case ru.TypeRef(_, _, args) => args; case _ => Nil } + } // [Eugene to Paul] need to use not the `rootMirror`, but a mirror with the REPL's classloader // how do I get to it? acquiring context classloader seems unreliable because of multithreading def typeVariables: List[java.lang.Class[_]] = typeArguments map (targ => ru.rootMirror.runtimeClass(targ)) |