Skip to content

Delegate cannot be used now in the overridden container in v3.14.11  #235

@SylvanG

Description

@SylvanG
import collections                                                                 
from dependency_injector import containers                                         
from dependency_injector import providers                                          
                                                                                   
                                                                                   
A = collections.namedtuple('A', [])                                                
B = collections.namedtuple('B', ['fa'])                                            
C = collections.namedtuple('B', ['a'])  


class Services(containers.DeclarativeContainer):                                   
    a = providers.Dependency()                                                     
    c = providers.Factory(C, a=a)                                                  
    b = providers.Factory(B, fa=a.delegate())                                      
                                                                                   
                                                                                   
a = providers.Factory(A)                                                           
assert isinstance(Services(a=a).c().a, A)  # ok                                    
Services(a=a).b().fa()  # error: dependency_injector.errors.Error: Dependency is not defined

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions