diff options
Diffstat (limited to 'vala/valaclass.vala')
-rw-r--r-- | vala/valaclass.vala | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/vala/valaclass.vala b/vala/valaclass.vala index fdaabc7c5..2abbc7766 100644 --- a/vala/valaclass.vala +++ b/vala/valaclass.vala @@ -740,7 +740,10 @@ public class Vala.Class : ObjectTypeSymbol { var base_class = this; while (base_class != null) { foreach (var impl in base_class.get_methods ()) { - if (impl.name == m.name && (impl.base_interface_type == null || impl.base_interface_type.data_type == iface)) { + if (impl.base_interface_method == m || (base_class != this + && impl.base_interface_method == null && impl.name == m.name + && (impl.base_interface_type == null || impl.base_interface_type.data_type == iface) + && impl.compatible_no_error (m))) { // method is used as interface implementation, so it is not unused impl.version.check (source_reference); impl.used = true; |