Community
Participate
Working Groups
Using build I20041013. On following test case, compiler reports only 1 unsafe type operation: public class G<T> { class Member {} } class X { G<String> g = new G(); G<String>.Member x = new G().new Member(); } ---------- 1. WARNING in D:\usr\OTI\workspaces\dvpt\v31\HEAD\_Bug\G.java (at line 5) G<String> g = new G(); ^^^^^^^ Unsafe type operation: Should not convert expression of raw type G to type G<String>. References to generic type G<T> should be parameterized ---------- 1 problem (1 warning) javac reports 2 warnings: G.java:5: warning: [unchecked] unchecked conversion found : G required: G<java.lang.String> G<String> g = new G(); ^ G.java:6: warning: [unchecked] unchecked conversion found : G.Member required: G<java.lang.String>.Member G<String>.Member x = new G().new Member(); ^ 2 warnings
Tuned unchecked conversion diagnosis to recurse on enclosing types. Added regression test: GenericTypeTest#test323. Fixed.
Verified for 3.1M3 with build I200411040100