The java.util.concurrent code has many locations where it could take advantage both of normal diamond from JDK 7 as well as the new diamond with anonymous classes available in JDK 9.
Comments
I agree that when jsr166 source code depends on jdk9-only features, it is fine to use other new language features in the same source files. We'll create an internal "branch" in the CVS repository (as we did with jdk7).
23-04-2015
As part of the VarHandles work the plan is to update j.u.c classes and where appropriate replace Unsafe with VarHandle i.e. a version of jsr166 will be baselined against 9. So that would give us the opportunity to leverage 9 language features.
23-04-2015
We build and test subsets of jsr166 with different jdk versions, so we're a little stodgy about adopting latest language features. On occasion, we have reverted diamond.
23-04-2015
Doug Lea tries to maintain backward compatible versions of the j.u.c in the jsr166 CVS repository. Using JDK7 features is probably okay these days, but I think using 9 features would be a concern.