[svn] r6146: nemerle/trunk/ncc: testsuite/negative/calling.n testsuite/negative/typer2.n testsuite/negativ...

malekith svnadmin at nemerle.org
Fri Mar 3 12:12:31 CET 2006


Log:
Disallow void->object casts.

Author: malekith
Date: Fri Mar  3 12:12:29 2006
New Revision: 6146

Modified:
   nemerle/trunk/ncc/testsuite/negative/calling.n
   nemerle/trunk/ncc/testsuite/negative/typer2.n
   nemerle/trunk/ncc/testsuite/negative/void-parm2.n
   nemerle/trunk/ncc/testsuite/positive/implicit-conversion.n
   nemerle/trunk/ncc/testsuite/positive/matching.n
   nemerle/trunk/ncc/typing/MType.n

Modified: nemerle/trunk/ncc/testsuite/negative/calling.n
==============================================================================
--- nemerle/trunk/ncc/testsuite/negative/calling.n	(original)
+++ nemerle/trunk/ncc/testsuite/negative/calling.n	Fri Mar  3 12:12:29 2006
@@ -88,5 +88,11 @@
       null
     );
   }
+
+  Muxz () : void
+  {
+    mutable x = 2;
+    System.Console.WriteLine ("-- {0} --", x++); // E: each overload has an error during call
+  }
 }
 

Modified: nemerle/trunk/ncc/testsuite/negative/typer2.n
==============================================================================
--- nemerle/trunk/ncc/testsuite/negative/typer2.n	(original)
+++ nemerle/trunk/ncc/testsuite/negative/typer2.n	Fri Mar  3 12:12:29 2006
@@ -20,8 +20,6 @@
 
     assert (! (true == null)); // E: comparing a value type
     assert (! (false == null)); // E: comparing a value type
-    assert (! (() == null)); // E: comparing a value type
-    assert (! (null == ())); // E: comparing a value type
 
     def val = 0;
     assert (val != null); // E: comparing a value type

Modified: nemerle/trunk/ncc/testsuite/negative/void-parm2.n
==============================================================================
--- nemerle/trunk/ncc/testsuite/negative/void-parm2.n	(original)
+++ nemerle/trunk/ncc/testsuite/negative/void-parm2.n	Fri Mar  3 12:12:29 2006
@@ -1,8 +1,8 @@
 module M {
   public Main () : void // OK
   {
-    [()].Iter (
-      fun (_) { // E: has void argument
+    [()].Iter ( // E: typing constraint on 'a not satisfied
+      fun (_) {
       }
     )
   }

Modified: nemerle/trunk/ncc/testsuite/positive/implicit-conversion.n
==============================================================================
--- nemerle/trunk/ncc/testsuite/positive/implicit-conversion.n	(original)
+++ nemerle/trunk/ncc/testsuite/positive/implicit-conversion.n	Fri Mar  3 12:12:29 2006
@@ -66,11 +66,13 @@
     // bug #513
     System.Console.WriteLine ({
         ();
-        ( def _f () {} ) : object
+        ( def _f () {} );
+        ""
     });
     System.Console.WriteLine ({
         ();
-        ( def _q = 33 ) : object
+        ( def _q = 33 );
+        ""
     });
     
     Bug612.Run ();

Modified: nemerle/trunk/ncc/testsuite/positive/matching.n
==============================================================================
--- nemerle/trunk/ncc/testsuite/positive/matching.n	(original)
+++ nemerle/trunk/ncc/testsuite/positive/matching.n	Fri Mar  3 12:12:29 2006
@@ -1059,13 +1059,6 @@
 }
 
 module MatchWithConversion {
-  void_to_object (x : int) : object {
-    | 2 => object ()
-    | 3 => ({ _ = 4; })
-    | 1 => ()      
-    | _ => null
-  }
- 
    mutable bul : bool;
  
   dummy () : void {
@@ -1081,10 +1074,6 @@
   }
   
   public run () : void  {
-    assert (void_to_object (3) == null);
-    assert (void_to_object (2) != null);
-    assert (void_to_object (1) == null);
-    assert (void_to_object (0) == null);        
   }
 }
 

Modified: nemerle/trunk/ncc/typing/MType.n
==============================================================================
--- nemerle/trunk/ncc/typing/MType.n	(original)
+++ nemerle/trunk/ncc/typing/MType.n	Fri Mar  3 12:12:29 2006
@@ -252,6 +252,8 @@
       def s = Passes.Solver;
 
       match ((this, t)) {
+        | (Void, Class) => false
+
         | (_, Class (tc, _)) 
           when tc.Equals (InternalType.Object_tc) => true
           



More information about the svn mailing list