True: this compiles and the test passes today on JDK 27-jep401ea3: record Person(String name, Age age, Iban iban) {}
// {"name": "SuperMario", "age": null, "iban": null}
Person result = mapper.readValue(json, Person.class);
assertThat(result.age()).isNull(); // passes — value class field, null
assertThat(result.iban()).isNull(); // passes — value class field, null
Jackson bypasses the constructor for null JSON tokens (getNullValue() short-circuits), so the
validation in new Age(...) never runs. Both Age and Iban are value classes; both fields are null.
What do you think? Of course, there are limitations as Person cannot be flattened anymore but I guess Valhalla will ship more JEPs later?