[svn] r5980: nemerle/trunk/ncc: testsuite/negative/unbound-member.n
typing/Typer-PatternTyper.n
malekith
svnadmin at nemerle.org
Tue Nov 29 18:35:50 CET 2005
Log:
Don't try to lookup type-part of the name, when there is none. Resolves #576.
Author: malekith
Date: Tue Nov 29 18:35:48 2005
New Revision: 5980
Modified:
nemerle/trunk/ncc/testsuite/negative/unbound-member.n
nemerle/trunk/ncc/typing/Typer-PatternTyper.n
Modified: nemerle/trunk/ncc/testsuite/negative/unbound-member.n
==============================================================================
--- nemerle/trunk/ncc/testsuite/negative/unbound-member.n (original)
+++ nemerle/trunk/ncc/testsuite/negative/unbound-member.n Tue Nov 29 18:35:48 2005
@@ -66,3 +66,26 @@
}
}
}
+
+
+module Bug576
+{
+ variant formula {
+ | True
+ }
+
+ eq (f1 : formula, f2 : formula) : bool
+ {
+ match (t1) {
+ | True => // E: unbound type
+ f2 == True() // E: unbound name
+ | _ => true // W: unused
+ }
+ }
+
+
+ public t1 () : void
+ {
+ ()
+ }
+}
Modified: nemerle/trunk/ncc/typing/Typer-PatternTyper.n
==============================================================================
--- nemerle/trunk/ncc/typing/Typer-PatternTyper.n (original)
+++ nemerle/trunk/ncc/typing/Typer-PatternTyper.n Tue Nov 29 18:35:48 2005
@@ -502,6 +502,7 @@
| _ =>
def (typ, field) = idl.DivideLast ();
def patterns =
+ if (typ is []) [] else
env.LookupSymbol (typ, typer.current_type).FoldLeft ([],
fun (tc, acc) {
match (tc) {
More information about the svn
mailing list