Fwd: hg: lambda/lambda/langtools: Enhancement: switch to graph inference by default when using -source 8 (original) (raw)

Brian Goetz brian.goetz at oracle.com
Fri Jan 25 09:43:40 PST 2013


This is a pretty important milestone for the compiler, turning on a number of type inference improvements. This should help with issues like the need for explicit type witnesses (Foo.bar) and explicit type parameters on ctor refs (Foo::new instead of Foo::new).

-------- Original Message -------- Subject: hg: lambda/lambda/langtools: Enhancement: switch to graph inference by default when using -source 8 Date: Fri, 25 Jan 2013 17:31:37 +0000 From: maurizio.cimadamore at oracle.com To: lambda-dev at openjdk.java.net

Changeset: 34105e37fa55 Author: mcimadamore Date: 2013-01-25 17:31 +0000 URL: http://hg.openjdk.java.net/lambda/lambda/langtools/rev/34105e37fa55

Enhancement: switch to graph inference by default when using -source 8

The graph inference engine allows for more precise inference results in nested method call contexts, by allowing propagation of inference constraints (and stuck expression) outwards.

In case of problems, the old inference scheme can be enabled by using the flag '-XDuseLegacyInference'.

! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/GraphInfer.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/comp/InferFactory.java ! src/share/classes/com/sun/tools/javac/comp/LegacyInfer.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/main/Main.java ! src/share/classes/com/sun/tools/javac/util/List.java ! test/tools/javac/6758789/T6758789b.out ! test/tools/javac/Diagnostics/6799605/T6799605.out ! test/tools/javac/diags/examples/CantApplyDiamond1.java ! test/tools/javac/diags/examples/InferredDoNotConformToEq.java ! test/tools/javac/diags/examples/InferredDoNotConformToUpper.java ! test/tools/javac/diags/examples/WhereFreshTvar.java ! test/tools/javac/generics/7015430/T7015430.out ! test/tools/javac/generics/7151802/T7151802.out ! test/tools/javac/generics/diamond/neg/Neg06.out ! test/tools/javac/generics/inference/6278587/T6278587Neg.java ! test/tools/javac/generics/inference/6638712/T6638712d.out ! test/tools/javac/generics/inference/6638712/T6638712e.out ! test/tools/javac/generics/inference/7154127/T7154127.java ! test/tools/javac/generics/inference/7154127/T7154127.out ! test/tools/javac/generics/inference/7177306/T7177306a.out ! test/tools/javac/generics/inference/7177306/T7177306e.java ! test/tools/javac/generics/inference/7177306/T7177306e.out ! test/tools/javac/generics/odersky/BadTest4.java ! test/tools/javac/lambda/LambdaParserTest.java ! test/tools/javac/lambda/TargetType10.java ! test/tools/javac/lambda/TargetType10.out ! test/tools/javac/lambda/TargetType14.out ! test/tools/javac/lambda/TargetType20.java ! test/tools/javac/lambda/TargetType20.out ! test/tools/javac/lambda/TargetType28.out ! test/tools/javac/lambda/TargetType50.java ! test/tools/javac/lambda/TargetType50.out ! test/tools/javac/lambda/mostSpecific/StructuralMostSpecificTest.java ! test/tools/javac/multicatch/Neg07.out



More information about the lambda-libs-spec-observers mailing list