From 93afac81aaf05d70b771bec1399ddfc6c3acf81b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89lie=20Goudout?= Date: Sat, 12 Apr 2025 10:39:06 +0200 Subject: [PATCH 1/2] fix: ns can be mapping (closes #132426) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Élie Goudout --- Lib/annotationlib.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Lib/annotationlib.py b/Lib/annotationlib.py index 237b3470b831fd..5ad47d891aa8c1 100644 --- a/Lib/annotationlib.py +++ b/Lib/annotationlib.py @@ -6,6 +6,7 @@ import keyword import sys import types +import typing __all__ = [ "Format", @@ -627,7 +628,7 @@ def get_annotate_function(obj): Returns the __annotate__ function or None. """ - if isinstance(obj, dict): + if isinstance(obj, typing.Mapping): try: return obj["__annotate__"] except KeyError: From a4ad2c6a34ccbc194754ee98915fa31f22d7313e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89lie=20Goudout?= Date: Sat, 12 Apr 2025 12:14:41 +0200 Subject: [PATCH 2/2] Mapping from collections.abc, local MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Élie Goudout --- Lib/annotationlib.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Lib/annotationlib.py b/Lib/annotationlib.py index 5ad47d891aa8c1..950c1bd9baee3d 100644 --- a/Lib/annotationlib.py +++ b/Lib/annotationlib.py @@ -6,7 +6,6 @@ import keyword import sys import types -import typing __all__ = [ "Format", @@ -628,7 +627,9 @@ def get_annotate_function(obj): Returns the __annotate__ function or None. """ - if isinstance(obj, typing.Mapping): + from collections.abc import Mapping + + if isinstance(obj, Mapping): try: return obj["__annotate__"] except KeyError: