mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 14:23:28 +07:00
25 lines
560 B
HTML
25 lines
560 B
HTML
<html>
|
|
<body>
|
|
<p>Reports invalid definitions and usages of protocols introduced in
|
|
<a href="https://www.python.org/dev/peps/pep-0544/">PEP-544</a>.</p>
|
|
<p><b>Example:</b></p>
|
|
<pre><code>
|
|
from typing import Protocol
|
|
|
|
|
|
class MyProtocol(Protocol):
|
|
def method(self, p: int) -> str:
|
|
pass
|
|
|
|
|
|
class MyClass(MyProtocol):
|
|
def method(self, p: str) -> int: # Type of 'method' is not compatible with 'MyProtocol'
|
|
pass
|
|
|
|
|
|
class MyAnotherProtocol(MyClass, Protocol): # All bases of a protocol must be protocols
|
|
pass
|
|
|
|
</code></pre>
|
|
</body>
|
|
</html> |