Author: Ronan Lamy <[email protected]>
Branch: py3k
Changeset: r85909:190116421221
Date: 2016-07-29 16:23 +0100
http://bitbucket.org/pypy/pypy/changeset/190116421221/

Log:    On Python3, errors raised when trying to access obj.__class__ are
        propagated

diff --git a/pypy/module/__builtin__/abstractinst.py 
b/pypy/module/__builtin__/abstractinst.py
--- a/pypy/module/__builtin__/abstractinst.py
+++ b/pypy/module/__builtin__/abstractinst.py
@@ -57,8 +57,8 @@
     try:
         w_abstractclass = space.getattr(w_inst, space.wrap('__class__'))
     except OperationError as e:
-        if e.async(space):      # ignore most exceptions
-            raise
+        if not e.match(space, space.w_AttributeError):
+            raise       # propagate other errors
         return False
     else:
         return p_abstract_issubclass_w(space, w_abstractclass, w_cls)
@@ -72,8 +72,8 @@
     try:
         w_abstractclass = space.getattr(w_inst, space.wrap('__class__'))
     except OperationError as e:
-        if e.async(space):      # ignore most exceptions
-            raise
+        if not e.match(space, space.w_AttributeError):
+            raise       # propagate other errors
     else:
         if w_abstractclass is not space.type(w_inst):
             if space.isinstance_w(w_abstractclass, space.w_type):
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to