summaryrefslogtreecommitdiff
path: root/src/library/scala/reflect/ClassTag.scala
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@gmail.com>2016-09-30 15:38:30 +0200
committerLukas Rytz <lukas.rytz@gmail.com>2016-09-30 22:27:53 +0200
commit759b0daaf448f08f3233ee5fdaa3bc29f0732dfc (patch)
tree1b49e0eae6ac6a5003932988732bfa321bc39f4c /src/library/scala/reflect/ClassTag.scala
parent924634899003ceca8fcf132cc09047aa2b37e933 (diff)
downloadscala-759b0daaf448f08f3233ee5fdaa3bc29f0732dfc.tar.gz
scala-759b0daaf448f08f3233ee5fdaa3bc29f0732dfc.tar.bz2
scala-759b0daaf448f08f3233ee5fdaa3bc29f0732dfc.zip
Explicit SerialVersionUID for all ClassTags / Manifests
Looking at the class hierarchy around ClassTag and Manifest, the only class that had a serialVersionUID is AnyValManifest, where the hierarchy is something like: trait ClassTag // extends Serializable |- class GenericClassTag |- trait Manifest |- class ClassTypeManifest |- class SingletonTypeManifest |- ... |- abstract class AnyValManifest // has SerialVersionUID |- class DoubleManifest |- ... Note that AnyValManifest is an abstract class, so the SerialVersionUID annotation does not help there. This commit adds explicit SerialVersionUID annotations to (hopefully) all subclasses of ClassTag, to make sure they are stable under compatible changes (such as changing -Xmixin-force-forwarders).
Diffstat (limited to 'src/library/scala/reflect/ClassTag.scala')
-rw-r--r--src/library/scala/reflect/ClassTag.scala1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/library/scala/reflect/ClassTag.scala b/src/library/scala/reflect/ClassTag.scala
index eb3aeeecfc..30ceadceeb 100644
--- a/src/library/scala/reflect/ClassTag.scala
+++ b/src/library/scala/reflect/ClassTag.scala
@@ -119,6 +119,7 @@ object ClassTag {
val Nothing : ClassTag[scala.Nothing] = Manifest.Nothing
val Null : ClassTag[scala.Null] = Manifest.Null
+ @SerialVersionUID(1L)
private class GenericClassTag[T](val runtimeClass: jClass[_]) extends ClassTag[T]
def apply[T](runtimeClass1: jClass[_]): ClassTag[T] =