@@ -4,7 +4,6 @@ from contextlib import AbstractContextManager, AbstractAsyncContextManager
44from  pathlib  import  Path 
55from  typing  import  (
66    Awaitable ,
7-     TypeVar ,
87    Generic ,
98    Type ,
109    Callable  as  _Callable ,
@@ -22,6 +21,8 @@ from typing import (
2221    overload ,
2322)
2423
24+ from  typing_extensions  import  Self  as  _Self , TypeVar 
25+ 
2526try :
2627    import  yaml 
2728except  ImportError :
@@ -38,6 +39,7 @@ Injection = Any
3839ProviderParent  =  Union ["Provider" , Any ]
3940T  =  TypeVar ("T" )
4041TT  =  TypeVar ("TT" )
42+ T_Any  =  TypeVar ("T_Any" , default = Any )
4143P  =  TypeVar ("P" , bound = "Provider" )
4244BS  =  TypeVar ("BS" , bound = "BaseSingleton" )
4345
@@ -542,17 +544,17 @@ class Container(Provider[T]):
542544    def  parent_name (self ) ->  Optional [str ]: ...
543545    def  assign_parent (self , parent : ProviderParent ) ->  None : ...
544546
545- class  Selector (Provider [Any ]):
547+ class  Selector (Provider [T_Any ]):
546548    def  __init__ (
547549        self , selector : Optional [_Callable [..., Any ]] =  None , ** providers : Provider 
548550    ): ...
549-     def  __getattr__ (self , name : str ) ->  Provider : ...
551+     def  __getattr__ (self , name : str ) ->  Provider [ T_Any ] : ...
550552    @property  
551553    def  selector (self ) ->  Optional [_Callable [..., Any ]]: ...
552-     def  set_selector (self , selector : Optional [_Callable [..., Any ]]) ->  Selector : ...
554+     def  set_selector (self , selector : Optional [_Callable [..., Any ]]) ->  _Self : ...
553555    @property  
554-     def  providers (self ) ->  _Dict [str , Provider ]: ...
555-     def  set_providers (self , ** providers : Provider ) ->  Selector : ...
556+     def  providers (self ) ->  _Dict [str , Provider [ T_Any ] ]: ...
557+     def  set_providers (self , ** providers : Provider ) ->  _Self : ...
556558
557559class  ProvidedInstanceFluentInterface :
558560    def  __getattr__ (self , item : Any ) ->  AttributeGetter : ...
0 commit comments