8000 Broken order of complex inheritance · Issue #884 · ets-labs/python-dependency-injector · GitHub
[go: up one dir, main page]

Skip to content
Broken order of complex inheritance #884
Closed
@wb7777

Description

@wb7777

Hello everyone.
In version 4.46.0 the order of complex inheritance has been broken.

from dependency_injector import containers, providers, __version__
from dependency_injector.wiring import Provide, inject


class GrandBase:
    @inject
    def __init__(self, *args, service=Provide['service'], **kwargs):
        print('GrandBase')

        super().__init__()


class Base1(GrandBase):
    ...


class Base2(GrandBase):
    def __init__(self, *args, **kwargs):
        print('Base2')

        super().__init__(*args, **kwargs)


class SubClass(Base1, Base2):
    ...


class Container(containers.DeclarativeContainer):
    service = providers.Object('service')


container = Container()

container.wire(modules=[__name__])

print(f"dependency_injector: {__version__}")

SubClass()

In version 4.45.0:

dependency_injector: 4.45.0
Base2
GrandBase

In version 4.46.0:

dependency_injector: 4.46.0
GrandBase

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0