On Wed, 3 Jun 2026 00:05:38 GMT, Leonid Mesnik <[email protected]> wrote:
>> Changed Tests: >> >> HashMap/KeySetRemove.java: equal ValueClass keys mapped to null can be >> removed from HashMap and TreeMap. >> >> HashMap/NullKeyAtResize.java: null-key resize behavior remains correct when >> surrounding keys are ValueClass instances. >> >> HashMap/PutNullKey.java: colliding comparable tree-bin keys are >> value-capable via @AsValueClass. >> >> HashMap/ReplaceExisting.java: replacing an existing ValueClass key during >> active iteration does not corrupt the iterator. >> >> HashMap/SetValue.java: Map.Entry.setValue() returns the old ValueClass value. >> >> HashMap/ToArray.java: toArray() coverage is added for ValueClass keys, >> values, and set elements across hash and linked variants. >> >> HashMap/TreeBinAssert.java: tree-bin iterator-removal coverage now uses a >> value-capable key. >> >> Hashtable/EqualsCast.java: Provider/Hashtable equality now includes matching >> ValueClass key/value entries. >> >> Hashtable/SimpleSerialization.java: serialization round-trip now also covers >> Hashtable<Integer,Integer>. >> >> LinkedHashMap/ComputeIfAbsentAccessOrder.java: access-order behavior is >> repeated with Integer keys. >> >> LinkedHashMap/EmptyMapIterator.java: fail-fast iterator behavior is repeated >> with Integer key/value entries. >> >> LinkedList/AddAll.java: append-order behavior is repeated with ValueClass >> elements. >> >> LinkedList/Clone.java: clone/equality checks for LinkedList, TreeSet, and >> TreeMap subclasses now include ValueClass contents. >> >> Unchanged Tests: >> >> HashMap/HashMapCloneLeak.java: unchanged because the test depends on >> WeakReference reachability. Value objects are not valid weak-reference >> targets, so adding VClass would not match the regression being tested. >> >> HashMap/OverrideIsEmpty.java: unchanged because the test is about HashMap >> subclass method dispatch. Value classes cannot extend HashMap, and changing >> only the key/value payload would not add meaningful value-class coverage. >> >> HashMap/WhiteBoxResizeTest.java: unchanged because it is a >> white-box/internal capacity and table-sizing test using >> reflection/VarHandles over HashMap, LinkedHashMap, HashSet, and WeakHashMap >> internals. Its purpose is sizing/lazy allocation/resize arithmetic, not >> key/value equality or value-object behavior. >> >> HashMap/ToString.java: unchanged because it specifically verifies that >> HashMap.Entry.toString() does not throw when the map contains null keys or >> values. Adding value-class keys or values would not extend the original >> null-handling regression in a meaningful ... > > test/jdk/java/util/HashMap/PutNullKey.java line 50: > >> 48: static final float LOAD_FACTOR = 1.0f; >> 49: >> 50: @AsValueClass > > Can you please add the second testcase and new class > CollidingHashValue > that is ' @AsValueClass' > > You fix is going to work perfectly now, but later the plan is to rewrite > @AsValueClass with 'value class' and don't run the test with and without > preview. So 2 testcases would be reuiqred. yes ------------- PR Review Comment: https://git.openjdk.org/valhalla/pull/2501#discussion_r3350685269
