RFR: 7039014: Confusing error message for method conflict
Archie L. Cobbs
duke at openjdk.org
Tue Oct 18 22:01:31 UTC 2022
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
-------------
Commit messages:
- 7039014: Confusing error message for method conflict
Changes: https://git.openjdk.org/jdk/pull/10752/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10752&range=00
Issue: https://bugs.openjdk.org/browse/JDK-7039014
Stats: 44 lines in 4 files changed: 41 ins; 0 del; 3 mod
Patch: https://git.openjdk.org/jdk/pull/10752.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/10752/head:pull/10752
PR: https://git.openjdk.org/jdk/pull/10752
More information about the compiler-dev
mailing list