Cs-minor-diff
From Nemerle Homepage
[edit]
lack of ambiguity error in C#, when several attributes can be choosen:
namespace B { class A : System.Attribute {} } namespace H { using B; class A : System.Attribute {} [A] class F {} }
C# compilers choose H.A and if its definition is commented out, B.A. Nemerle compiler scream about ambiguous attribute type, which is clearly the case here. We are more restrictive here.
[edit]
overriden methods are not excluded when choosing overload
class BaseClass { public virtual AddItem (val : string) : void { } } class TestClass : BaseClass { public AddItem (val : object) : void { } public override AddItem (val : string) : void { } } ... TestClass.AddItem ("a"); // C# will choose TestClass.AddItem (object) // while Nemerle, TestClass.AddItem (string)
This is related to "exclude override" rule, which we found plainly wrong. Nemerle compiler always chooses the best matching member, which is closer to Visual Basic .NET than C#.