Bug 8283

Summary: overloaded method from base class is 'lost' -- mcs thinks subclass doesn't implement interfact
Product: [Mono] Compilers Reporter: Patrick Marks <pmarks>
Component: C#Assignee: Marek Safar <masafa>
Severity: normal CC: mono-bugs+mono
Priority: ---    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Tags: Is this bug a regression?: ---
Last known good build:

Description Patrick Marks 2012-11-08 12:28:01 UTC
Overloaded methods from a base class don't get 'lost' when they are required to implement an interface on a subclass.
Works correctly in mono-2.10 and .NET.

Version: fresh build from github master.

dmcs /target:library /out:blah.dll Test.cs

Test.cs(25,18): error CS0738: `Test.Subclass' does not implement interface member `Test.IInterface.Get(string, string)' and the best implementing candidate `Test.BaseClass.Get(string, int)' return type `int' does not match interface member return type `string'
Test.cs(7,9): (Location of the symbol related to previous error)
Test.cs(19,13): (Location of the symbol related to previous error)
Compilation failed: 1 error(s), 0 warnings


namespace Test
    public interface IInterface
        string Get(string key, string v);
        int Get(string key, int v);

    public class BaseClass
        public string Get(string key, string v)
            return v;

        public int Get(string key, int v)
            return 0;

    public class Subclass : BaseClass, IInterface
Comment 1 Marek Safar 2012-11-11 03:29:19 UTC
Fixed in master