[svn] r6198: nemerle/trunk/ncc: testsuite/negative/genspec1.n
testsuite/negative/genspec3.n typing/Overloa...
malekith
svnadmin at nemerle.org
Wed Apr 26 11:43:43 CEST 2006
Log:
Better error message for extra generic parameters for overloaded functions. Fixes #658.
Author: malekith
Date: Wed Apr 26 11:43:42 2006
New Revision: 6198
Added:
nemerle/trunk/ncc/testsuite/negative/genspec1.n
nemerle/trunk/ncc/testsuite/negative/genspec3.n
Modified:
nemerle/trunk/ncc/typing/OverloadPossibility.n
Added: nemerle/trunk/ncc/testsuite/negative/genspec1.n
==============================================================================
--- (empty file)
+++ nemerle/trunk/ncc/testsuite/negative/genspec1.n Wed Apr 26 11:43:42 2006
@@ -0,0 +1 @@
+def t = System.Collections.Hashtable.[int, int]; // E: System.Collections.Hashtable..ctor doesn't take generic parameters
Added: nemerle/trunk/ncc/testsuite/negative/genspec3.n
==============================================================================
--- (empty file)
+++ nemerle/trunk/ncc/testsuite/negative/genspec3.n Wed Apr 26 11:43:42 2006
@@ -0,0 +1,7 @@
+class A {
+ public this () { }
+ public this (_ : int) { }
+}
+
+def t' = A.[int] (); // E: A..ctor doesn't take generic parameters
+
Modified: nemerle/trunk/ncc/typing/OverloadPossibility.n
==============================================================================
--- nemerle/trunk/ncc/typing/OverloadPossibility.n (original)
+++ nemerle/trunk/ncc/typing/OverloadPossibility.n Wed Apr 26 11:43:42 2006
@@ -380,6 +380,10 @@
def hd = List.Hd (overloads);
def solver = Passes.Solver;
def messenger = solver.CurrentMessenger;
+ if (overloads.ForAll (fun (o) { !o.IsGeneric && o.generic_specifier != null }))
+ ReportError (messenger,
+ $ "$(hd.member.DeclaringType).$(hd.member.Name) doesn't take generic parameters");
+ else {
ReportError (messenger,
$ "none of the overloads of $(hd.member.Name) is "
"possible:");
@@ -398,6 +402,7 @@
solver.PopState ();
}
}
+ }
res
}
More information about the svn
mailing list