Analyzer: no static type warning when multiple implemented interfaces have conflicting members #7283
Labels
area-analyzer
Use area-analyzer for Dart analyzer issues, including the analysis server and code completion.
Milestone
This issue was originally filed by [email protected]
This is a duplicate of issue #3306 which was wrongfully closed
According to spec (8.1.1):
"if there are multiple members m1, …, mk with the same name n that would be inherited (because identically named members existed in several superinterfaces) then at most one member is inherited. If the static types T1, …, Tk of the members m1, …, mk are not identical, then there must be a member mx such that Tx <: Ti, 1 <= x <= k for all i, 1 <= i <= k, or a static type warning occurs."
the following should result in a static type warning:
abstract class SI1 {
int foo;
}
abstract class SI2 {
String foo;
}
abstract class I implements SI1, SI2 {}
However, there's currently none
co19 tests expecting this warning:
Language/08_Interfaces/4_Superinterfaces/1_Inheritance_and_Overriding_A02_t01-t04
The text was updated successfully, but these errors were encountered: