From 2c7675112c0562590eac5420dc18e676764fb6cd Mon Sep 17 00:00:00 2001 From: Jan Chyb Date: Wed, 9 Jul 2025 16:41:40 +0200 Subject: [PATCH] Stabilise OldHashSet serialisation independent of the generated classfile --- .../main/scala/scala/collection/immutable/OldHashSet.scala | 1 + junit/src/test/scala-3/scala/SerializationStabilityTest.scala | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/core/src/main/scala/scala/collection/immutable/OldHashSet.scala b/core/src/main/scala/scala/collection/immutable/OldHashSet.scala index bb5160b4..4197af4b 100644 --- a/core/src/main/scala/scala/collection/immutable/OldHashSet.scala +++ b/core/src/main/scala/scala/collection/immutable/OldHashSet.scala @@ -32,6 +32,7 @@ import scala.annotation.tailrec * @define Coll `immutable.OldHashSet` * @define coll immutable hash set */ +@SerialVersionUID(1765121508301437795L) sealed abstract class OldHashSet[A] extends AbstractSet[A] with SetOps[A, OldHashSet, OldHashSet[A]] diff --git a/junit/src/test/scala-3/scala/SerializationStabilityTest.scala b/junit/src/test/scala-3/scala/SerializationStabilityTest.scala index 6d537c85..b0574cae 100644 --- a/junit/src/test/scala-3/scala/SerializationStabilityTest.scala +++ b/junit/src/test/scala-3/scala/SerializationStabilityTest.scala @@ -38,7 +38,7 @@ object SerializationStability extends App with SerializationStabilityBase { } } - // Generated on 20230524-12:12:24 with Scala version 2.13.10) + // Generated on 20250709-16:14:25 with Scala version 2.13.16) overwrite.foreach(updateComment) // check(new collection.concurrent.TrieMap[Any, Any]())( "rO0ABXNyACNzY2FsYS5jb2xsZWN0aW9uLmNvbmN1cnJlbnQuVHJpZU1hcKckxpgOIYHPAwAETAALZXF1YWxpdHlvYmp0ABJMc2NhbGEvbWF0aC9FcXVpdjtMAApoYXNoaW5nb2JqdAAcTHNjYWxhL3V0aWwvaGFzaGluZy9IYXNoaW5nO0wABHJvb3R0ABJMamF2YS9sYW5nL09iamVjdDtMAAtyb290dXBkYXRlcnQAOUxqYXZhL3V0aWwvY29uY3VycmVudC9hdG9taWMvQXRvbWljUmVmZXJlbmNlRmllbGRVcGRhdGVyO3hwc3IAMnNjYWxhLmNvbGxlY3Rpb24uY29uY3VycmVudC5UcmllTWFwJE1hbmdsZWRIYXNoaW5nhTBoJQ/mgb0CAAB4cHNyABhzY2FsYS5tYXRoLkVxdWl2JCRhbm9uJDLBbyx4dy/qGwIAAHhwc3IANHNjYWxhLmNvbGxlY3Rpb24uY29uY3VycmVudC5UcmllTWFwU2VyaWFsaXphdGlvbkVuZCSbjdgbbGCt2gIAAHhweA==") @@ -46,7 +46,7 @@ object SerializationStability extends App with SerializationStabilityBase { import collection.parallel check(parallel.immutable.ParHashMap(1 -> 2))( "rO0ABXNyAC5zY2FsYS5jb2xsZWN0aW9uLnBhcmFsbGVsLmltbXV0YWJsZS5QYXJIYXNoTWFwAAAAAAAAAAMCAANMAA1TY2FuTGVhZiRsenkxdAASTGphdmEvbGFuZy9PYmplY3Q7TAANU2Nhbk5vZGUkbHp5MXEAfgABTAAEdHJpZXQAJ0xzY2FsYS9jb2xsZWN0aW9uL2ltbXV0YWJsZS9PbGRIYXNoTWFwO3hwcHBzcgAxc2NhbGEuY29sbGVjdGlvbi5pbW11dGFibGUuT2xkSGFzaE1hcCRPbGRIYXNoTWFwMS7zjpoZzkeMAgAESQAEaGFzaEwAA2tleXEAfgABTAACa3Z0AA5Mc2NhbGEvVHVwbGUyO0wABXZhbHVlcQB+AAF4cgAlc2NhbGEuY29sbGVjdGlvbi5pbW11dGFibGUuT2xkSGFzaE1hcN5WhvKtrtpDAgAAeHD/g87nc3IAEWphdmEubGFuZy5JbnRlZ2VyEuKgpPeBhzgCAAFJAAV2YWx1ZXhyABBqYXZhLmxhbmcuTnVtYmVyhqyVHQuU4IsCAAB4cAAAAAFzcgAMc2NhbGEuVHVwbGUyAfvdzSLnNHoCAAJMAAJfMXEAfgABTAACXzJxAH4AAXhwcQB+AApzcQB+AAgAAAACcQB+AA0=") - check(parallel.immutable.ParHashSet(1, 2, 3))( "rO0ABXNyAC5zY2FsYS5jb2xsZWN0aW9uLnBhcmFsbGVsLmltbXV0YWJsZS5QYXJIYXNoU2V0AAAAAAAAAAECAANMAA1TY2FuTGVhZiRsenkxdAASTGphdmEvbGFuZy9PYmplY3Q7TAANU2Nhbk5vZGUkbHp5MXEAfgABTAAEdHJpZXQAJ0xzY2FsYS9jb2xsZWN0aW9uL2ltbXV0YWJsZS9PbGRIYXNoU2V0O3hwcHBzcgAxc2NhbGEuY29sbGVjdGlvbi5pbW11dGFibGUuT2xkSGFzaFNldCRIYXNoVHJpZVNldOJNxSausJmiAgADSQAGYml0bWFwSQAFc2l6ZTBbAAVlbGVtc3QAKFtMc2NhbGEvY29sbGVjdGlvbi9pbW11dGFibGUvT2xkSGFzaFNldDt4cgAlc2NhbGEuY29sbGVjdGlvbi5pbW11dGFibGUuT2xkSGFzaFNldFjbkJLVO+YWAgAAeHAAEECAAAAAA3VyAChbTHNjYWxhLmNvbGxlY3Rpb24uaW1tdXRhYmxlLk9sZEhhc2hTZXQ7CAD6Mv3ASA4CAAB4cAAAAANzcgAxc2NhbGEuY29sbGVjdGlvbi5pbW11dGFibGUuT2xkSGFzaFNldCRPbGRIYXNoU2V0MR1AgCzq7c4OAgACSQAEaGFzaEwAA2tleXEAfgABeHIANHNjYWxhLmNvbGxlY3Rpb24uaW1tdXRhYmxlLk9sZEhhc2hTZXQkTGVhZk9sZEhhc2hTZXRdhLftY1qm3QIAAHhxAH4ABv+DzudzcgARamF2YS5sYW5nLkludGVnZXIS4qCk94GHOAIAAUkABXZhbHVleHIAEGphdmEubGFuZy5OdW1iZXKGrJUdC5TgiwIAAHhwAAAAAXNxAH4ACv+DrM5zcQB+AA0AAAACc3EAfgAK/4OK1HNxAH4ADQAAAAM=") + check(parallel.immutable.ParHashSet(1, 2, 3))( "rO0ABXNyAC5zY2FsYS5jb2xsZWN0aW9uLnBhcmFsbGVsLmltbXV0YWJsZS5QYXJIYXNoU2V0AAAAAAAAAAECAANMAA1TY2FuTGVhZiRsenkxdAASTGphdmEvbGFuZy9PYmplY3Q7TAANU2Nhbk5vZGUkbHp5MXEAfgABTAAEdHJpZXQAJ0xzY2FsYS9jb2xsZWN0aW9uL2ltbXV0YWJsZS9PbGRIYXNoU2V0O3hwcHBzcgAxc2NhbGEuY29sbGVjdGlvbi5pbW11dGFibGUuT2xkSGFzaFNldCRIYXNoVHJpZVNldOJNxSausJmiAgADSQAGYml0bWFwSQAFc2l6ZTBbAAVlbGVtc3QAKFtMc2NhbGEvY29sbGVjdGlvbi9pbW11dGFibGUvT2xkSGFzaFNldDt4cgAlc2NhbGEuY29sbGVjdGlvbi5pbW11dGFibGUuT2xkSGFzaFNldBh++KjntXtjAgAAeHAAEECAAAAAA3VyAChbTHNjYWxhLmNvbGxlY3Rpb24uaW1tdXRhYmxlLk9sZEhhc2hTZXQ7CAD6Mv3ASA4CAAB4cAAAAANzcgAxc2NhbGEuY29sbGVjdGlvbi5pbW11dGFibGUuT2xkSGFzaFNldCRPbGRIYXNoU2V0MR1AgCzq7c4OAgACSQAEaGFzaEwAA2tleXEAfgABeHIANHNjYWxhLmNvbGxlY3Rpb24uaW1tdXRhYmxlLk9sZEhhc2hTZXQkTGVhZk9sZEhhc2hTZXRdhLftY1qm3QIAAHhxAH4ABv+DzudzcgARamF2YS5sYW5nLkludGVnZXIS4qCk94GHOAIAAUkABXZhbHVleHIAEGphdmEubGFuZy5OdW1iZXKGrJUdC5TgiwIAAHhwAAAAAXNxAH4ACv+DrM5zcQB+AA0AAAACc3EAfgAK/4OK1HNxAH4ADQAAAAM=") // TODO SI-8576 Uninitialized field under -Xcheckinit // check(new parallel.immutable.ParRange(new Range(0, 1, 2)))( "rO0ABXNyACxzY2FsYS5jb2xsZWN0aW9uLnBhcmFsbGVsLmltbXV0YWJsZS5QYXJSYW5nZQAAAAAAAAABAgAETAAXUGFyUmFuZ2VJdGVyYXRvciRtb2R1bGV0AEBMc2NhbGEvY29sbGVjdGlvbi9wYXJhbGxlbC9pbW11dGFibGUvUGFyUmFuZ2UkUGFyUmFuZ2VJdGVyYXRvciQ7TAAPU2NhbkxlYWYkbW9kdWxldAA1THNjYWxhL2NvbGxlY3Rpb24vcGFyYWxsZWwvUGFySXRlcmFibGVMaWtlJFNjYW5MZWFmJDtMAA9TY2FuTm9kZSRtb2R1bGV0ADVMc2NhbGEvY29sbGVjdGlvbi9wYXJhbGxlbC9QYXJJdGVyYWJsZUxpa2UkU2Nhbk5vZGUkO0wABXJhbmdldAAiTHNjYWxhL2NvbGxlY3Rpb24vaW1tdXRhYmxlL1JhbmdlO3hwcHBwc3IAIHNjYWxhLmNvbGxlY3Rpb24uaW1tdXRhYmxlLlJhbmdlabujVKsVMg0CAAdJAANlbmRaAAdpc0VtcHR5SQALbGFzdEVsZW1lbnRJABBudW1SYW5nZUVsZW1lbnRzSQAFc3RhcnRJAARzdGVwSQAPdGVybWluYWxFbGVtZW50eHAAAAABAAAAAAAAAAABAAAAAAAAAAIAAAAC") // TODO SI-8576 unstable under -Xcheckinit