[svn] r6437: nemerle/trunk/ncc: hierarchy/TypeBuilder.n hierarchy/TypeInfo.n testsuite/positive/gen-overlo...

nazgul svnadmin at nemerle.org
Sat Jul 8 17:04:47 CEST 2006


Log:
Use unchecked subst when creating subtyping of external type

Author: nazgul
Date: Sat Jul  8 17:04:45 2006
New Revision: 6437

Modified:
   nemerle/trunk/ncc/hierarchy/TypeBuilder.n
   nemerle/trunk/ncc/hierarchy/TypeInfo.n
   nemerle/trunk/ncc/testsuite/positive/gen-overload-lib.n
   nemerle/trunk/ncc/testsuite/positive/gen-overload.n

Modified: nemerle/trunk/ncc/hierarchy/TypeBuilder.n
==============================================================================
--- nemerle/trunk/ncc/hierarchy/TypeBuilder.n	(original)
+++ nemerle/trunk/ncc/hierarchy/TypeBuilder.n	Sat Jul  8 17:04:45 2006
@@ -872,11 +872,6 @@
 
   //------------ METHODS FOR TYPING --------------------------------------  
 
-  internal MakeUncheckedSubst (args : list [TyVar]) : Subst
-  {
-    ConstructSubst (this, typarms, args, check_parms = false)
-  }
-
   /**
    * Return substitution to apply to types of members of our supertype [ti]
    * to get types of members in [this].
@@ -1240,11 +1235,7 @@
       }
     };
 
-    def sub =
-      match (tc) {
-        | tb is TypeBuilder => tb.MakeUncheckedSubst (args)
-        | tc => tc.MakeSubst (args)
-      }
+    def sub = tc.MakeUncheckedSubst (args);
 
     def add_srt (t : MType.Class, subinfo : Subinfo) {
       add_sr (subinfo, t.tycon, 

Modified: nemerle/trunk/ncc/hierarchy/TypeInfo.n
==============================================================================
--- nemerle/trunk/ncc/hierarchy/TypeInfo.n	(original)
+++ nemerle/trunk/ncc/hierarchy/TypeInfo.n	Sat Jul  8 17:04:45 2006
@@ -622,6 +622,12 @@
     ConstructSubst (this, typarms, parms, check_parms = true)
   }
   
+  internal MakeUncheckedSubst (args : list [TyVar]) : Subst
+  {
+    ConstructSubst (this, typarms, args, check_parms = false)
+  }
+  
+  
   internal MakeSubst1 (parms : list [MType]) : Subst
   {
     MakeSubst (Solver.MonoTypes (parms))

Modified: nemerle/trunk/ncc/testsuite/positive/gen-overload-lib.n
==============================================================================
--- nemerle/trunk/ncc/testsuite/positive/gen-overload-lib.n	(original)
+++ nemerle/trunk/ncc/testsuite/positive/gen-overload-lib.n	Sat Jul  8 17:04:45 2006
@@ -57,3 +57,11 @@
 }
 
 }
+
+
+namespace Library
+{
+   public class BusinessBase[T] where T : BusinessBase[T]
+   {
+   }
+}

Modified: nemerle/trunk/ncc/testsuite/positive/gen-overload.n
==============================================================================
--- nemerle/trunk/ncc/testsuite/positive/gen-overload.n	(original)
+++ nemerle/trunk/ncc/testsuite/positive/gen-overload.n	Sat Jul  8 17:04:45 2006
@@ -87,6 +87,12 @@
   }
 }
 
+namespace SubtypingCheckBug {
+  using Library;
+  public class Foo : BusinessBase[Foo]
+  {
+  }
+}
 
 // REFERENCE: gen-overload-lib.dll
 



More information about the svn mailing list