Community
Participate
Working Groups
Build 3.4m1 The following code should compile clean: class X<T extends Number> { T get() { return null; }; void foo(X<? extends Object> x) { x.get().intValue(); } } but currently, #intValue() is not found since the capture superclass is considered to be Object instead of Number.
Created attachment 78347 [details] Proposed patch
This fix first requires addressing bug 202404 first.
Added GenericTypeTest#test1165 Released for 3.4M2 Fixed
Verified for 3.4M2 using build I20070918-0010
considering for 3.3.2
Released for 3.3.2 Fixed
Only adding Verified for 3.4M2 to the status whiteboard, since I believe this got lost.
The compiler semantics near capture conversion need to be tuned to match the spec. Without these changes, we see quite many corner cases failing to compile properly or being rejected incorrectly, and numerous customers starting to notice it.
+1 for 3.3.2
Verified for 3.3.2 using build M20080123-0800