RFR: 7039014: Confusing error message for method conflict [v3]
Vicente Romero
vromero at openjdk.org
Thu Oct 20 04:50:53 UTC 2022
On Wed, 19 Oct 2022 15:22:51 GMT, Archie L. Cobbs <duke at openjdk.org> wrote:
>> This fixes a confusing error message.
>>
>> Currently, this input:
>>
>> interface A<T> {
>> byte m(String x);
>> char m(T x);
>> }
>>
>> interface B extends A<String> {
>> }
>>
>> produces this error:
>>
>> A.java:6: error: types A<String> and A<String> are incompatible;
>> interface B extends A<String> {
>> ^
>> both define m(String), but with unrelated return types
>> 1 error
>>
>> This patch detects when the two types are actually the same type and gives this error message instead:
>>
>> A.java:6: error: type A<String> defines m(String) more than once with unrelated return types
>> interface B extends A<String> {
>> ^
>> 1 error
>
> Archie L. Cobbs has updated the pull request incrementally with one additional commit since the last revision:
>
> Remove obsolete @author tags and combine tests into one file.
looks good
-------------
Marked as reviewed by vromero (Reviewer).
PR: https://git.openjdk.org/jdk/pull/10752
More information about the compiler-dev
mailing list