hg: lambda/lambda/langtools: 8016177: structural most specific and stuckness; ...
maurizio.cimadamore at oracle.com
maurizio.cimadamore at oracle.com
Thu Aug 8 06:31:51 PDT 2013
Changeset: 91c60b02c849
Author: mcimadamore
Date: 2013-08-08 14:30 +0100
URL: http://hg.openjdk.java.net/lambda/lambda/langtools/rev/91c60b02c849
8016177: structural most specific and stuckness
8016178: Order of unsticking functional expressions
Simplified interaction between stuck expressions and overload resolution. Now implicit lambdas are considered as stuck and cannot be used to disambiguate between multiple applicable methods (same holds for overloaded method reference). In such cases, disambiguation is only provided by the provisional applicability arity-based check. Added new warning (-Xlint:overloads) to flag potentially ambiguous declarations.
! src/share/classes/com/sun/tools/javac/code/Flags.java
! src/share/classes/com/sun/tools/javac/code/Lint.java
! src/share/classes/com/sun/tools/javac/code/Types.java
! src/share/classes/com/sun/tools/javac/comp/Attr.java
! src/share/classes/com/sun/tools/javac/comp/Check.java
! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java
! src/share/classes/com/sun/tools/javac/comp/Infer.java
! src/share/classes/com/sun/tools/javac/comp/Resolve.java
! src/share/classes/com/sun/tools/javac/resources/compiler.properties
- test/tools/javac/Diagnostics/compressed/T8012003c.java
- test/tools/javac/Diagnostics/compressed/T8012003c.out
- test/tools/javac/diags/examples/BadArgTypesInLambda.java
+ test/tools/javac/diags/examples/PotentiallyAmbiguousOverload.java
! test/tools/javac/lambda/8016177/T8016177a.java
! test/tools/javac/lambda/8016177/T8016177a.out
! test/tools/javac/lambda/8016177/T8016177c.java
! test/tools/javac/lambda/8016177/T8016177c.out
! test/tools/javac/lambda/8019480/T8019480.out
! test/tools/javac/lambda/BadRecovery.out
! test/tools/javac/lambda/ErroneousLambdaExpr.java
+ test/tools/javac/lambda/ErroneousLambdaExpr.out
! test/tools/javac/lambda/MethodReference22.out
! test/tools/javac/lambda/MethodReference23.out
! test/tools/javac/lambda/MethodReference41.java
+ test/tools/javac/lambda/MethodReference41.out
! test/tools/javac/lambda/MethodReference42.java
+ test/tools/javac/lambda/MethodReference42.out
! test/tools/javac/lambda/MethodReference43.java
+ test/tools/javac/lambda/MethodReference43.out
! test/tools/javac/lambda/MethodReference44.java
+ test/tools/javac/lambda/MethodReference44.out
! test/tools/javac/lambda/MethodReference46.java
+ test/tools/javac/lambda/MethodReference46.out
! test/tools/javac/lambda/MethodReference47.java
! test/tools/javac/lambda/MethodReference47.out
! test/tools/javac/lambda/MethodReference48.java
+ test/tools/javac/lambda/MethodReference48.out
! test/tools/javac/lambda/MethodReference70.out
! test/tools/javac/lambda/MethodReference71.out
! test/tools/javac/lambda/MostSpecific04.java
+ test/tools/javac/lambda/MostSpecific04.out
! test/tools/javac/lambda/MostSpecific05.java
+ test/tools/javac/lambda/MostSpecific05.out
! test/tools/javac/lambda/MostSpecific08.java
+ test/tools/javac/lambda/MostSpecific08.out
! test/tools/javac/lambda/TargetType01.java
+ test/tools/javac/lambda/TargetType01.out
! test/tools/javac/lambda/TargetType02.java
+ test/tools/javac/lambda/TargetType02.out
! test/tools/javac/lambda/TargetType21.java
! test/tools/javac/lambda/TargetType21.out
! test/tools/javac/lambda/TargetType24.java
! test/tools/javac/lambda/TargetType24.out
! test/tools/javac/lambda/TargetType26.out
! test/tools/javac/lambda/TargetType39.out
! test/tools/javac/lambda/TargetType43.out
! test/tools/javac/lambda/TargetType57.out
! test/tools/javac/lambda/TargetType66.java
! test/tools/javac/lambda/TargetType66.out
! test/tools/javac/lambda/mostSpecific/StructuralMostSpecificTest.java
- test/tools/javac/lambda/typeInference/InferenceTest5.java
! test/tools/javac/lambda/typeInference/InferenceTest_neg1_2.out
More information about the lambda-dev
mailing list