Thanks. JDT agress with the JLS that Bar[] counts as a Foo[].
http://gwt-code-reviews.appspot.com/1309801/diff/4002/9001 File dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaAST.java (right): http://gwt-code-reviews.appspot.com/1309801/diff/4002/9001#newcode2063 dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaAST.java:2063: return; Exactly, the super() call to Enum's constructor will never be vararg, we we'll return above here and never have to consider it. http://gwt-code-reviews.appspot.com/1309801/diff/4002/9001#newcode2078 dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaAST.java:2078: if (args.length == params.length) { It's a simple assignment test. If the arg can be assigned to Foo[], it counts as the array you need. If not, it needs to be assignable to Foo. http://gwt-code-reviews.appspot.com/1309801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
