Summary: | [1.5][compiler] error in type deduction | ||
---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Thomas Klaeger <tkl> |
Component: | Core | Assignee: | Philipe Mulet <philippe_mulet> |
Status: | VERIFIED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P3 | ||
Version: | 3.2 | ||
Target Milestone: | 3.1.1 | ||
Hardware: | PC | ||
OS: | Windows XP | ||
Whiteboard: |
Description
Thomas Klaeger
2005-09-26 05:19:00 EDT
Reproduced with 3.2M2. Problem comes from improper substitution for raw type generic parameterized method. public <V1, V2 extends V1> void test(V1 p1, V2 p2) {} ends up being: void test(Object p1, V1 p2) due to incorrect use of variable strict upper bound. It should instead consider variable erasure in raw form. Added GenericTypeTest#test826-827. Fixed both in 3.1.1 stream (> 3.1.1rc2) and HEAD Now it reports this warning. The method test(Object, Object) belongs to the raw type Tester. References to generic type Tester<T> should be parameterized Tester.java Verified in M20050923-1430 + JDT/Core 3.1.1RC3 candidate |