| ▲ | leiroigh 6 hours ago | |||||||
I'll be interested in seeing the fallout of the (unavoidable) compat issue: If I have a function that has a value `x` that erases to `java.lang.Object` (e.g. a parametric function with no lower bound); then it used to be safe to check for nullity and then synchronize on the object. This is no longer safe: This can now throw `IdentityException` into your face. (it was _never_ a good idea) In other words, a lot of old code must be reviewed. I suspect that `-XX:DiagnoseSyncOnValueBasedClasses=2` will need to stay (with the semantics: if user tries to synchronize on identity-less object, then log a JFR event and make it a NOP, don't throw an exception)! The current JEP text is a little too ambiguous to figure out whether that is the plan, anyways. | ||||||||
| ▲ | watt 4 hours ago | parent [-] | |||||||
You lost me at "I have a function that has a value `x`". How does function "have" a value? | ||||||||
| ||||||||