[Checkins] [zopefoundation/zope.interface] b38575: Use C3 (mostly) to compute IRO.
Jason Madden
noreply at github.com
Tue Mar 10 17:37:12 CET 2020
Branch: refs/heads/issue21
Home: https://github.com/zopefoundation/zope.interface
Commit: b385754584d25f7683a0780731fc186727d41499
https://github.com/zopefoundation/zope.interface/commit/b385754584d25f7683a0780731fc186727d41499
Author: Jason Madden <jamadden at gmail.com>
Date: 2020-03-10 (Tue, 10 Mar 2020)
Changed paths:
M CHANGES.rst
M docs/api/declarations.rst
M src/zope/interface/common/mapping.py
M src/zope/interface/declarations.py
M src/zope/interface/ro.py
M src/zope/interface/tests/test_declarations.py
M src/zope/interface/tests/test_ro.py
Log Message:
-----------
Use C3 (mostly) to compute IRO.
Fixes #21
The 'mostly' is because interfaces are used in cases that C3 forbids; when there's a conflict, we move forward by adding the simple legacy base to the list at the conflicting location and continuing.
I hoped the fix for #8 might shake out automatically, but it didn't.
Commit: 5c649ff3afe1cd631a2555c60c0151ac67795121
https://github.com/zopefoundation/zope.interface/commit/5c649ff3afe1cd631a2555c60c0151ac67795121
Author: Jason Madden <jamadden at gmail.com>
Date: 2020-03-10 (Tue, 10 Mar 2020)
Changed paths:
M src/zope/interface/declarations.py
M src/zope/interface/interface.py
M src/zope/interface/registry.py
M src/zope/interface/ro.py
M src/zope/interface/tests/test_declarations.py
Log Message:
-----------
Optimize the extremely common case of a __bases__ of length one.
In the benchmark, 4/5 of the interfaces and related objects have a base of length one.
Commit: 9e273f11cddda5f5eb44ad8a684ebf97e5cb48f4
https://github.com/zopefoundation/zope.interface/commit/9e273f11cddda5f5eb44ad8a684ebf97e5cb48f4
Author: Jason Madden <jamadden at gmail.com>
Date: 2020-03-10 (Tue, 10 Mar 2020)
Changed paths:
M src/zope/interface/common/__init__.py
M src/zope/interface/common/builtins.py
M src/zope/interface/common/collections.py
M src/zope/interface/common/tests/__init__.py
M src/zope/interface/common/tests/test_collections.py
M src/zope/interface/declarations.py
M src/zope/interface/ro.py
M src/zope/interface/tests/test_ro.py
Log Message:
-----------
Fix the bad IROs in the bundled ABC interfaces, and implement a way to get warnings or errors.
Commit: ff7896861e01956c2ff73c1c20d5f1dd96988f25
https://github.com/zopefoundation/zope.interface/commit/ff7896861e01956c2ff73c1c20d5f1dd96988f25
Author: Jason Madden <jamadden at gmail.com>
Date: 2020-03-10 (Tue, 10 Mar 2020)
Changed paths:
M docs/api/index.rst
A docs/api/ro.rst
M src/zope/interface/ro.py
M src/zope/interface/tests/test_ro.py
Log Message:
-----------
Refactor and document. Warning control is now implemented.
Compare: https://github.com/zopefoundation/zope.interface/compare/2349c39c801b...ff7896861e01
More information about the checkins
mailing list