|
6 | 6 | from modern_di import types |
7 | 7 | from modern_di.group import Group |
8 | 8 | from modern_di.providers.abstract import AbstractProvider |
| 9 | +from modern_di.providers.container_provider import container_provider |
9 | 10 | from modern_di.registries.cache_registry import CacheRegistry |
10 | 11 | from modern_di.registries.context_registry import ContextRegistry |
11 | 12 | from modern_di.registries.overrides_registry import OverridesRegistry |
@@ -44,7 +45,8 @@ def __init__( |
44 | 45 | self.overrides_registry = parent_container.overrides_registry |
45 | 46 | else: |
46 | 47 | self.providers_registry = ProvidersRegistry() |
47 | | - self.providers_registry.add_providers(_ContainerProvider()) |
| 48 | + container_provider.bound_type = type(self) |
| 49 | + self.providers_registry.add_providers(container_provider) |
48 | 50 | self.overrides_registry = OverridesRegistry() |
49 | 51 | if groups: |
50 | 52 | for one_group in groups: |
@@ -121,13 +123,3 @@ def __deepcopy__(self, *_: object, **__: object) -> "typing_extensions.Self": |
121 | 123 | def __copy__(self, *_: object, **__: object) -> "typing_extensions.Self": |
122 | 124 | """Prevent cloning object.""" |
123 | 125 | return self |
124 | | - |
125 | | - |
126 | | -class _ContainerProvider(AbstractProvider[typing.Any]): |
127 | | - __slots__ = AbstractProvider.BASE_SLOTS |
128 | | - |
129 | | - def __init__(self) -> None: |
130 | | - super().__init__(scope=Scope.APP, bound_type=Container) |
131 | | - |
132 | | - def resolve(self, container: Container) -> Container: |
133 | | - return container |
0 commit comments