Do not expand boolean PYSON when using __and__ and __or__
It is not expected that the left operand is modified by such operations. issue11836 review418551003 (grafted from 393ef20df4b30ead8ef189e99cf03976abe0be08) --HG-- branch : 6.0
This commit is contained in:
1 parent
4cab4ac7ac
commit
816abe1fd8
1 file changed
+2
-4
+2
-4
@@ -31,8 +31,7 @@ class PYSON(object):
|
||||
other = Bool(other)
|
||||
if (isinstance(self, And)
|
||||
and not isinstance(self, Or)):
|
||||
self._statements.append(other)
|
||||
return self
|
||||
return And(*self._statements, other)
|
||||
if self.types() != {bool}:
|
||||
return And(Bool(self), other)
|
||||
else:
|
||||
@@ -45,8 +44,7 @@ class PYSON(object):
|
||||
and other.types() != {bool}):
|
||||
other = Bool(other)
|
||||
if isinstance(self, Or):
|
||||
self._statements.append(other)
|
||||
return self
|
||||
return Or(*self._statements, other)
|
||||
if self.types() != {bool}:
|
||||
return Or(Bool(self), other)
|
||||
else:
|
||||
|
||||
Reference in new issue
Block a user