diff --git a/src/dependency_injector/containers.pyi b/src/dependency_injector/containers.pyi index 7ebba297..f202715c 100644 --- a/src/dependency_injector/containers.pyi +++ b/src/dependency_injector/containers.pyi @@ -25,6 +25,7 @@ class Container: provider_type: Type[Provider] = Provider providers: Dict[str, Provider] overridden: Tuple[Provider] + __self__: Provider def __init__(self) -> None: ... def __deepcopy__(self, memo: Optional[Dict[str, Any]]) -> Provider: ... def __setattr__(self, name: str, value: Union[Provider, Any]) -> None: ... diff --git a/src/dependency_injector/wiring.py b/src/dependency_injector/wiring.py index 5cac9da3..b8143bba 100644 --- a/src/dependency_injector/wiring.py +++ b/src/dependency_injector/wiring.py @@ -500,7 +500,7 @@ class ClassGetItemMeta(GenericMeta): class _Marker(Generic[T], metaclass=ClassGetItemMeta): - def __init__(self, provider: Union[providers.Provider, Any]) -> None: + def __init__(self, provider: Union[providers.Provider, Container]) -> None: if _is_declarative_container(provider): provider = provider.__self__ self.provider: providers.Provider = provider