-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Open
Labels
Area-CompilersBughelp wantedThe issue is "up for grabs" - add a comment if you are interested in working on itThe issue is "up for grabs" - add a comment if you are interested in working on it
Milestone
Description
extern alias Contracts1;
extern alias Contracts2;
using alias1 = Contracts1::TestContractAssembly;
using alias2 = Contracts2::TestContractAssembly;
partial class Contract : alias1.IContract, alias2.IContract
{
int alias1.IContract.x
{
get
{
return 1;
}
}
int alias2.IContract.x
{
get
{
return 1;
}
}
}Both IContract types are the same - they expose an int property "x". Roslyn incorrectly reports that IContract.x has already been implemented.
This works if you inline the using aliases.
I strongly suspect that the alias points to the merged namespace symbol, rather than to the namespace symbol contained in the assembly symbol referenced by the extern alias.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Area-CompilersBughelp wantedThe issue is "up for grabs" - add a comment if you are interested in working on itThe issue is "up for grabs" - add a comment if you are interested in working on it