diff dmd/Type.d @ 79:43073c7c7769

updated to 2.035 also implemented a few missing functions still crashes in Import.importAll though
author Trass3r
date Mon, 30 Aug 2010 03:57:51 +0200
parents 7e0d548de9e6
children b17640f0e4e8
line wrap: on
line diff
--- a/dmd/Type.d	Sun Aug 29 14:39:08 2010 +0100
+++ b/dmd/Type.d	Mon Aug 30 03:57:51 2010 +0200
@@ -405,7 +405,8 @@
 	 */
     int covariant(Type t)
 	{
-static if (false) {
+static if (false)
+{
 		printf("Type.covariant(t = %s) %s\n", t.toChars(), toChars());
 		printf("deco = %p, %p\n", deco, t.deco);
 	//    printf("ty = %d\n", next.ty);
@@ -470,6 +471,9 @@
 		Type t1n = t1.next;
 		Type t2n = t2.next;
 
+		if (t1n is null || t2n is null) // happens with return type inference
+			goto Lnotcovariant;
+
 		if (t1n.equals(t2n))
 		goto Lcovariant;
 		if (t1n.ty == TY.Tclass && t2n.ty == TY.Tclass)