Details
Description
There was a recent report in CPython where importing pyside2 causes subsequent classes created after the import to have __signature__ as not writeable. This causes AttributeError when mocking objects where __signature__ is changed in the mocked object. Since importing causes this problem I am filing this bug. Importing shiboken2 also causes same error where __signature__ could not be set. This has caused a regression in mock library and perhaps other programs that try to change __signature__. Any help in this is appreciated.
# sample reproducer $ python Python 3.8.0a4+ (heads/master:b1c3167c23, May 8 2019, 05:17:38) [GCC 5.4.0 20160609] on linux Type "help", "copyright", "credits" or "license" for more information. >>> class Foo: pass ... >>> Foo.__signature__ = 1 >>> import PySide2 >>> class Bar: pass ... >>> Bar.__signature__ = 1 Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: attribute '__signature__' of 'type' objects is not writable
Bug reports :