From 515a1f2a67355a820cdf63113a0fb8cbbba0cdf0 Mon Sep 17 00:00:00 2001 From: Kamyar Ghajar <8692540+kamyarghajar@users.noreply.github.com> Date: Thu, 8 Jan 2026 18:02:48 -0500 Subject: [PATCH] check if __metadata__ is available --- injector/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/injector/__init__.py b/injector/__init__.py index 62d7d99..19057b3 100644 --- a/injector/__init__.py +++ b/injector/__init__.py @@ -1258,7 +1258,8 @@ def get_bindings(callable: Callable) -> Dict[str, type]: if not hasattr(callable, '__bindings__'): type_hints = get_type_hints(callable, include_extras=True) has_injectable_parameters = any( - _is_specialization(v, Annotated) and _inject_marker in v.__metadata__ for v in type_hints.values() + _is_specialization(v, Annotated) and _inject_marker in getattr(v, "__metadata__", ()) + for v in type_hints.values() ) if not has_injectable_parameters: