From: Daniele Varrazzo Date: Sat, 2 Jan 2021 21:45:06 +0000 (+0100) Subject: Work around __weakref__ + __slots__ + Generics bug on Python 3.6 X-Git-Tag: 3.0.dev0~204 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=eb9094287296c8b555bb5d579a0261022eb0a583;p=thirdparty%2Fpsycopg.git Work around __weakref__ + __slots__ + Generics bug on Python 3.6 See bug https://bugs.python.org/issue41451 --- diff --git a/psycopg3/psycopg3/cursor.py b/psycopg3/psycopg3/cursor.py index d03428b20..0c0d092fa 100644 --- a/psycopg3/psycopg3/cursor.py +++ b/psycopg3/psycopg3/cursor.py @@ -45,11 +45,15 @@ else: class BaseCursor(Generic[ConnectionType]): - __slots__ = """ - _conn format _adapters arraysize _closed _results _pgresult _pos - _iresult _rowcount _query _params _transformer - __weakref__ - """.split() + # Slots with __weakref__ and generic bases don't work on Py 3.6 + # https://bugs.python.org/issue41451 + if sys.version_info >= (3, 7): + __slots__ = """ + _conn format _adapters arraysize _closed _results _pgresult _pos + _iresult _rowcount _query _params _transformer + __weakref__ + """.split() + ExecStatus = pq.ExecStatus _transformer: "Transformer"