Moar updates to JEP 277 - Enhanced Deprecation - warnings policy

Stuart Marks stuart.marks at
Tue Aug 23 02:29:18 UTC 2016

Hi all,

I've updated the JEP 277 text once again, this time focused on the policy for 
issuing deprecation warnings. See the revised JEP text in the bug report:

Specifically the following sections have been rewritten:

  - Deprecation vs. Introduction of Warning Messages
  - Impact of forRemoval on Warning Messages Policy
  - Suppression of Deprecation Warnings

The material in these sections is not actually new; the previous version talked 
about these issues, but it was so terse as to be unintelligible.

TL;DR: If code uses an API deprecated with forRemoval=true, the resulting 
warnings are not suppressed with the currently defined


annotation. Instead, these warnings can be suppressed with a different annotation,


The reason is that, if a deprecation warning is already suppressed with 
@SW("deprecation"), and the API is then "upgraded" to have forRemoval=true, this 
change will go unnoticed at use sites. This could lead to errors.

See the JEP text for further details.


More information about the jdk9-dev mailing list