This project is read-only.


Members of derived interfaces should hide ambiguous members from base interfaces


// C# Project
public interface IBase1
    int X { get; }

public interface IBase2
    int X { get; }

public interface IDerived : IBase1, IBase2
    new int X { get; }
' VB Project
' Add a reference to the C# Project
Module M
    Sub Foo(p As IDerived)
        Dim x = p.X ' error BC30685: 'X' is ambiguous across the inherited interfaces 'IBase1' and 'IBase2'.
    End Sub
End Module
ACTUAL: (breaking change) error BC30685: 'X' is ambiguous across the inherited interfaces 'IBase1' and 'IBase2'.
EXPECTED: no errors
Closed Nov 5, 2014 at 9:13 PM by vladres


vladres wrote Mar 31, 2014 at 9:17 PM

A customer reported that their build is broken by this issue.

ControlFlow wrote May 6, 2014 at 2:29 PM

Any progress?

vladres wrote May 11, 2014 at 4:20 AM

@ControlFlow, thank you for your interest in this issue. It was assigned to a developer (as shown in the WORK ITEM DETAILS pane to the right) and is in a queue with others tasks assigned to him. Once the bug is fixed, this information will immediately appear on this page with the link to the corresponding commit. If you just want to express your personal interest in an issue, the best way to do this is through the voting mechanism. Leaving comments may be useful if you want to highlight some specific important scenarios that are not easily inferred from the information already present on the page and thus might have been overlooked by triage, if they might warrant to raise a priority of the issue.

Another approach to speed up the resolution of an issue is to write your own fix and submit it as a pull-request. Remember that Roslyn is an open-source project, and everybody is welcome to participate in it.

angocke wrote Oct 28, 2014 at 9:30 PM

Fixed in changeset ac80e8ea851e42ec9f634d62f083186eff38f6d8