diff options
author | Stefan Zeiger <szeiger@novocode.com> | 2016-07-26 18:21:48 +0200 |
---|---|---|
committer | Stefan Zeiger <szeiger@novocode.com> | 2016-08-12 13:41:31 +0200 |
commit | 4c2c4c17bedb0627f6caaa44b0ab4c58a8949b71 (patch) | |
tree | a5c8b86849b49a195a6e8a22a27139869812a312 /src/library/scala/collection/immutable | |
parent | 1e7ce6e774f2428356887d71870557b67062ef7f (diff) | |
download | scala-4c2c4c17bedb0627f6caaa44b0ab4c58a8949b71.tar.gz scala-4c2c4c17bedb0627f6caaa44b0ab4c58a8949b71.tar.bz2 scala-4c2c4c17bedb0627f6caaa44b0ab4c58a8949b71.zip |
SI-8576 Minimal changes for `-Xcheckinit` compatibility
As explained in https://issues.scala-lang.org/browse/SI-8576, I expect
serialization compatibility between builds with and without
`-Xcheckinit` to be unattainable. This commit contains some minor fixes
for issues discovered while running builds with `-Xcheckinit`:
- Add `@SerialVersionUID` to `scala.collection.immutable.Vector`, as
requested in SI-8576. Note that this does not make `Vector`
serialization compatible.
- Use lazy initialization for `global` in `PresentationCompilation`. It
used to access the uninitialized `self` variable (which seems to be
inconsequential in practice and only fails under `-Xcheckinit`).
We should consider using `Externalizable` instead of `Serializable` for
collections in 2.13 to make collection classes serialization compatible.
Diffstat (limited to 'src/library/scala/collection/immutable')
-rw-r--r-- | src/library/scala/collection/immutable/Vector.scala | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/library/scala/collection/immutable/Vector.scala b/src/library/scala/collection/immutable/Vector.scala index 539ae9c387..d8c422c700 100644 --- a/src/library/scala/collection/immutable/Vector.scala +++ b/src/library/scala/collection/immutable/Vector.scala @@ -59,6 +59,7 @@ object Vector extends IndexedSeqFactory[Vector] { * @define mayNotTerminateInf * @define willNotTerminateInf */ +@SerialVersionUID(-1334388273712300479L) final class Vector[+A] private[immutable] (private[collection] val startIndex: Int, private[collection] val endIndex: Int, focus: Int) extends AbstractSeq[A] with IndexedSeq[A] |