[svn] r6854: nemerle/trunk/ncc: testsuite/negative/bug774.n typing/Typer.n

malekith svnadmin at nemerle.org
Wed Nov 8 22:08:28 CET 2006


Log:
Get the fixpoint in delayed typing right. How come nobody noticed it before? :-) Resolves #774.

Author: malekith
Date: Wed Nov  8 22:08:27 2006
New Revision: 6854

Added:
   nemerle/trunk/ncc/testsuite/negative/bug774.n
Modified:
   nemerle/trunk/ncc/typing/Typer.n

Added: nemerle/trunk/ncc/testsuite/negative/bug774.n
==============================================================================
--- (empty file)
+++ nemerle/trunk/ncc/testsuite/negative/bug774.n	Wed Nov  8 22:08:27 2006
@@ -0,0 +1,15 @@
+
+      def processBuilder(builder)
+      {
+        foreach (_ in builder)
+        {
+            _ = fun(decl)
+            {
+              _ = decl.body.Location; // E: typing fails on accessing member
+            };
+        }
+      }
+
+      processBuilder([] : list [int]);
+
+

Modified: nemerle/trunk/ncc/typing/Typer.n
==============================================================================
--- nemerle/trunk/ncc/typing/Typer.n	(original)
+++ nemerle/trunk/ncc/typing/Typer.n	Wed Nov  8 22:08:27 2006
@@ -372,10 +372,9 @@
         }
       });
 
-      when (seen_unresolved)
         if (did_something)
           RunDelayedTypings ();
-        else {
+      else if (seen_unresolved) {
           mutable error_dt = null;
           
           solver.dt_store.Iter (fun (dt : DelayedTyping, _) {
@@ -392,7 +391,7 @@
           foreach (hint in errors.Tail)
             Util.locate (error_dt.loc,
               ReportError (messenger, hint));
-        }
+      } else {}
     }
     #endregion
 



More information about the svn mailing list