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

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.<T>bar) and explicit type 
parameters on ctor refs (Foo<T>::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