bpo-44089: Allow subclassing of ``csv.Error`` (GH-26008)

* fix subclass error

* Update 2021-05-09-22-52-34.bpo-44089.IoANsN.rst
This commit is contained in:
Ken Jin 2021-05-12 21:47:11 +08:00 committed by GitHub
parent 5010c044c7
commit 2b458c1dba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 1 deletions

View File

@ -1237,6 +1237,9 @@ class MiscTestCase(unittest.TestCase):
extra = {'__doc__', '__version__'}
support.check__all__(self, csv, ('csv', '_csv'), extra=extra)
def test_subclassable(self):
# issue 44089
class Foo(csv.Error): ...
if __name__ == '__main__':
unittest.main()

View File

@ -0,0 +1,2 @@
Allow subclassing ``csv.Error`` in 3.10 (it was allowed in 3.9 and earlier but
was disallowed in early versions of 3.10).

View File

@ -1515,7 +1515,7 @@ static PyType_Slot error_slots[] = {
PyType_Spec error_spec = {
.name = "_csv.Error",
.flags = Py_TPFLAGS_DEFAULT,
.flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
.slots = error_slots,
};