diff options
| author | robot-piglet <[email protected]> | 2026-01-26 08:19:37 +0300 |
|---|---|---|
| committer | robot-piglet <[email protected]> | 2026-01-26 08:33:33 +0300 |
| commit | cc3affe67e59b009a8ff68e48d8eec9a8ba72ac9 (patch) | |
| tree | b20b49fbcaa40bac4e6cb842d67a20f1ddfda070 /contrib/python/zope.interface/py3/zope | |
| parent | b5ca884548e50f9fd5434c4f2dd79f9cd865ab84 (diff) | |
Intermediate changes
commit_hash:3e6b6d99cc911eb8c99abcde84d23c9c0e145c82
Diffstat (limited to 'contrib/python/zope.interface/py3/zope')
| -rw-r--r-- | contrib/python/zope.interface/py3/zope/interface/interface.py | 2 | ||||
| -rw-r--r-- | contrib/python/zope.interface/py3/zope/interface/tests/test_interface.py | 17 |
2 files changed, 19 insertions, 0 deletions
diff --git a/contrib/python/zope.interface/py3/zope/interface/interface.py b/contrib/python/zope.interface/py3/zope/interface/interface.py index ad8a7de6b36..1ce44e0f5d3 100644 --- a/contrib/python/zope.interface/py3/zope/interface/interface.py +++ b/contrib/python/zope.interface/py3/zope/interface/interface.py @@ -827,6 +827,8 @@ class InterfaceClass(_InterfaceClassBase): '__firstlineno__', # __classdictcell__: Python 3.14 '__classdictcell__', + # __annotate_func__: Python 3.14b1+ + '__annotate_func__', ) and aval is not _decorator_non_return # noqa W503 } diff --git a/contrib/python/zope.interface/py3/zope/interface/tests/test_interface.py b/contrib/python/zope.interface/py3/zope/interface/tests/test_interface.py index 5105c11575f..d5a7d8d8e76 100644 --- a/contrib/python/zope.interface/py3/zope/interface/tests/test_interface.py +++ b/contrib/python/zope.interface/py3/zope/interface/tests/test_interface.py @@ -718,6 +718,23 @@ class InterfaceClassTests(unittest.TestCase): self.assertEqual(inst.__bases__, ()) self.assertEqual(list(inst.names()), []) + def test_ctor_attrs_w___annotate_func__(self) -> None: + from zope.interface import Attribute + from zope.interface import Interface + from zope.interface import directlyProvides + from zope.interface.verify import verifyObject + + class IAnnotated(Interface): + value: int = Attribute("Value") + + class Annotated: + value: int = 0 + + self.assertEqual(list(IAnnotated.names()), ['value']) + annotated = Annotated() + directlyProvides(annotated, IAnnotated) + verifyObject(IAnnotated, annotated) + def test_ctor_attrs_w__decorator_non_return(self): from zope.interface.interface import _decorator_non_return ATTRS = {'dropme': _decorator_non_return} |
