Check for identical types before comparing objects to see if they
are the same -- 0 and 0.0 compare equal but should be considered different
here!
diff --git a/Python/compile.c b/Python/compile.c
index 7605003..71d13bc 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -292,7 +292,7 @@
 	int i;
 	for (i = n; --i >= 0; ) {
 		object *w = getlistitem(list, i);
-		if (cmpobject(v, w) == 0)
+		if (v->ob_type == w->ob_type && cmpobject(v, w) == 0)
 			return i;
 	}
 	if (addlistitem(list, v) != 0)