[Checkins] [zopefoundation/zope.interface] 1c80f2: Make provided/implementedBy and adapter registries...

Jason Madden noreply at github.com
Thu Mar 5 17:19:44 CET 2020


  Branch: refs/heads/issue11
  Home:   https://github.com/zopefoundation/zope.interface
  Commit: 1c80f26ca906b57d728bd5382eef6a3645582136
      https://github.com/zopefoundation/zope.interface/commit/1c80f26ca906b57d728bd5382eef6a3645582136
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2020-03-05 (Thu, 05 Mar 2020)

  Changed paths:
    M .travis.yml
    M CHANGES.rst
    M docs/adapter.rst
    M docs/conf.py
    M setup.py
    M src/zope/interface/_zope_interface_coptimizations.c
    M src/zope/interface/adapter.py
    M src/zope/interface/declarations.py
    M src/zope/interface/tests/test_declarations.py
    M src/zope/interface/tests/test_registry.py

  Log Message:
  -----------
  Make provided/implementedBy and adapter registries respect super().

The query functions now start by looking at the next class in the MRO (interfaces directly provided by the underlying object are not found).

Adapter registries automatically pick up providedBy change to start finding the correct implementations of adapters, but to make that really useful they needed to change to unpack super() arguments and pass __self__ to the factory.

Fixes #11

Unfortunately, this makes PyPy unable to build the C extensions.




More information about the checkins mailing list