If we were using git I could more easily erase my embarrasing commit history...
authorDag Sverre Seljebotn <dagss@student.matnat.uio.no>
Thu, 14 May 2009 15:34:02 +0000 (17:34 +0200)
committerDag Sverre Seljebotn <dagss@student.matnat.uio.no>
Thu, 14 May 2009 15:34:02 +0000 (17:34 +0200)
Cython/Compiler/ExprNodes.py

index 55b7ef85be4e7a2c92d26a902e07c75acf23268f..fc608b1d1ed05897fafcd64680c92f594673f340 100644 (file)
@@ -3938,10 +3938,8 @@ class TypecastNode(NewTempExprNode):
         elif from_py and not to_py:
             if self.type.from_py_function:
                 self.operand = self.operand.coerce_to(self.type, env)
-            elif self.type.is_ptr:
-                base_type = self.type.base_type
-                if not base_type.is_void and not base_type.is_struct:
-                    error(self.pos, "Python objects can only be cast to void*")
+            elif self.type.is_ptr and not (self.type.base_type.is_void or self.type.base_type.is_struct):
+                error(self.pos, "Python objects can only be cast to void*")
             else:
                 warning(self.pos, "No conversion from %s to %s, python object pointer used." % (self.type, self.operand.type))
         elif from_py and to_py: