- 
    Enhancement 
- 
    Resolution: Fixed
- 
     P4 P4
- 
    8u60
- 
        b93
- 
        Verified
                    In JDK 8u40, javac dropped declaration annotations on lambda formals on the floor. Nothing in JLS8 suggested this treatment for such annotations, but it was a happy accident nonetheless -- according to Brian Goetz, there is no need to tie the synthetic method generated for a lambda expression back to the source lambda expression by carefully mapping the parameter annotations.
in JDK 9 (and presumably in JDK 8u60), javac preserves declaration annotations on lambda formals as Runtime[In]VisibleParameterAnnotations in the synthetic method. Similar to the names of the lambda formals, this preservation should not happen. The covering JLS change is specified inJDK-8140279.
            
in JDK 9 (and presumably in JDK 8u60), javac preserves declaration annotations on lambda formals as Runtime[In]VisibleParameterAnnotations in the synthetic method. Similar to the names of the lambda formals, this preservation should not happen. The covering JLS change is specified in
- duplicates
- 
                    JDK-8139198 [TEST_BUG]: tools/javac/classfiles/attributes/annotations/RuntimeParameterAnnotationsForLambdaTest.java fails -           
- Closed
 
-         
- relates to
- 
                    JDK-8138729 javac -parameters should not emit parameter names for lambda expressions -           
- Closed
 
-