Bug 76359

Summary: [1.5] Unsafe operation not reported while using member type
Product: [Eclipse Project] JDT Reporter: Frederic Fusier <frederic_fusier>
Component: CoreAssignee: Philipe Mulet <philippe_mulet>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 3.1   
Target Milestone: 3.1 M3   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Frederic Fusier CLA 2004-10-15 10:32:13 EDT
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
Comment 1 Philipe Mulet CLA 2004-10-29 07:34:03 EDT
Tuned unchecked conversion diagnosis to recurse on enclosing types.
Added regression test: GenericTypeTest#test323.

Fixed.
Comment 2 David Audel CLA 2004-11-04 11:08:44 EST
Verified for 3.1M3 with build I200411040100