copying: fold in graph copying (shared nodes, cycles, identity-map fix), serialization rules (constructors, record canonical constructor, ObjectInputFilter), record array components, clone() as a defensive copy, two more compile-error exhibits; 24 tests

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_017ic4b4BL3cEPHQTk2McE7C
This commit is contained in:
2026-11-12 20:29:58 +05:30
co-authored by Claude Sonnet 5.5
parent 38fbd513c9
commit c8588ae520
17 changed files with 442 additions and 11 deletions
+11
View File
@@ -0,0 +1,11 @@
== 1. Classes: only the first non-serializable superclass constructor runs ==
after new Child() : Child runs = 1, Parent runs = 1
after the copy : Child runs = 1, Parent runs = 2
== 2. Records: the canonical constructor DOES run ==
after new Money(..) : canonical runs = 1
after the copy : canonical runs = 2
== 3. An allow-list filter on the reading side ==
list of String and Money : [text, Money[paise=1]]
list holding an AtomicInteger : InvalidClassException: filter status: REJECTED