hg: lambda/lambda/langtools: 8016177: structural most specific and stuckness; ...

Ali Ebrahimi ali.ebrahimi1781 at gmail.com
Thu Aug 8 16:29:59 PDT 2013


Hi, I don't see this as an improvement. We goes towards removing implicit
lambdas. since we have limited its application.So now implicit lambdas just
give us ambiguity errors.
Better would be we have clean and solid solution not remove face of problem.


On Thu, Aug 8, 2013 at 6:01 PM, <maurizio.cimadamore at oracle.com> wrote:

> 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