[svn] r7386: nemerle/trunk/ncc: testsuite/negative/array.n typing/Typer.n

nazgul svnadmin at nemerle.org
Mon Feb 5 18:07:04 CET 2007


Log:
Upper bound on array dimensions

Author: nazgul
Date: Mon Feb  5 18:07:02 2007
New Revision: 7386

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

Modified: nemerle/trunk/ncc/testsuite/negative/array.n
==============================================================================
--- nemerle/trunk/ncc/testsuite/negative/array.n	(original)
+++ nemerle/trunk/ncc/testsuite/negative/array.n	Mon Feb  5 18:07:02 2007
@@ -11,3 +11,9 @@
      _ = array.[[]][] // E: invalid array rank
    }
 }
\ No newline at end of file
+
+class Bug872 {
+  foo () : void {
+     _ = array.[33][] // E: array must have at most 32 dimensions
+   }
+}

Modified: nemerle/trunk/ncc/typing/Typer.n
==============================================================================
--- nemerle/trunk/ncc/typing/Typer.n	(original)
+++ nemerle/trunk/ncc/typing/Typer.n	Mon Feb  5 18:07:02 2007
@@ -1259,6 +1259,9 @@
         | PT.PExpr.Array (<[ $(r : int) ]>, _) when r < 1 =>          
           ReportFatal (messenger, "array must have positive dimensions")
           
+        | PT.PExpr.Array (<[ $(r : int) ]>, _) when r > 32 =>          
+          ReportFatal (messenger, "array must have at most 32 dimensions (.NET runtime limit)")
+                    
         | PT.PExpr.Array (<[ $(r : int) ]>, PT.PExpr.ListLiteral ([])) =>
           def list_of_zeros (r) {
             | 1 => [ <[ 0 ]> ]



More information about the svn mailing list