JDK-8068543 : 9.6.4.6: @Deprecated on a package declaration has no effect
Type:Sub-task
Component:specification
Sub-Component:language
Affected Version:8
Priority:P4
Status:Closed
Resolution:Fixed
Submitted:2015-01-06
Updated:2018-08-03
Resolved:2016-09-27
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
JLS 9.6.4.6 should clarify that "Use of the @Deprecated annotation on a local variable declaration or on a parameter declaration ***or on a package declaration*** has no effect."
Comments
More precise spec: "No deprecation warning occurs when a local variable or formal parameter whose declaration is annotated with @Deprecated is used (referenced by name), or when the name of a package whose declaration is annotated with @Deprecated is used (referenced by a qualified type name or an import declaration)."
30-03-2016
I recommend ensuring that the wording is clear that the words "no effect" apply only to warnings emitted by the compiler. The context here (in the JLS) may be sufficient, but the same words in the API specification might not be.