On Fri, 9 May 2025 14:35:38 GMT, Vicente Romero <vrom...@openjdk.org> wrote:

>> This PR is defining a new internal annotation, 
>> `@jdk.internal.RequiresIdentity`, with target types PARAMETER and 
>> TYPE_PARAMETER. The @RequiresIdentity annotation expresses the expectation 
>> that an argument to a given method or constructor parameter will be an 
>> object with a unique identity, not an instance of a value-based class; or 
>> that the type argument to a given type parameter will not be a value-based 
>> class type.
>> 
>> For more details please refer to the complete description in the 
>> corresponding JIRA entry [1]
>> 
>> TIA
>> 
>> [1] https://bugs.openjdk.org/browse/JDK-8354556
>
> Vicente Romero has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   documentation and adding alias to lint categories

I don't understand the point of having two separate `LintCategory`'s 
`SYNCHRONIZATION` and `IDENTITY`.  That's like having two different humans just 
so you can call them `Robert` or `Bobby`.

Put another way, are we proposing here to temporarily support compiler 
configurations like `Xlint:-identity,synchronization` and 
`Xlint:-synchronization,identity`?
* If not, then there should be a single `LintCategory.IDENTITY` that is 
addressable through all the usual naming mechanisms (i.e., `@SuppressWarnings`, 
`-Xlint:foo`) as either `"synchronization"` or `"identity"`. That is 
`"synchronization"` is just a true alias.
* If so, then we are creating a future backward-incompatibility when we merge 
`SYNCHRONIZATION` into `IDENTITY`. After that merge, what is 
`Xlint:-synchronization,identity` or `Xlint:-identity,-synchronization` 
supposed to mean?

-------------

PR Comment: https://git.openjdk.org/jdk/pull/24746#issuecomment-2866880798

Reply via email to