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: