Community
Participate
Working Groups
I20050811-1530 public class Try { <S extends Number, T> void take(S e, T f) {} //1 <S extends Number, T> void take(T e, S f) {} //2 <S extends Number, T extends S> void take(T e, S f) {} //3 } The binding keys are: 1: Lb/Try;.take<S:Ljava/lang/Number;T:Ljava/lang/Object;>(TS;TT;)V 2: Lb/Try;.take<S:Ljava/lang/Number;T:Ljava/lang/Object;>(TT;TS;)V 3: Lb/Try;.take<S:Ljava/lang/Number;T:TS;>(TT;TS;)V The following invocations of IMethodBinding#isEqualTo(..) wrongly return true: 1.isEqualTo(2) 2.isEqualTo(1) 3.isEqualTo(1) 3.isEqualTo(2)
Created attachment 26051 [details] Proposed fix
Created attachment 26052 [details] Regression test
Jérôme, please review fix.
Fixed and released in HEAD. Regression test added in ASTConverter15Test.test0195
Verified using I20050920-0010 for 3.2M2