| from __future__ import annotations |
| |
| a:int=3 |
| b:str="foo" |
| |
| class MyClass: |
| a:int=4 |
| b:str="bar" |
| def __init__(self, a, b): |
| self.a = a |
| self.b = b |
| def __eq__(self, other): |
| return isinstance(other, MyClass) and self.a == other.a and self.b == other.b |
| |
| def function(a:int, b:str) -> MyClass: |
| return MyClass(a, b) |
| |
| |
| def function2(a:int, b:"str", c:MyClass) -> MyClass: |
| pass |
| |
| |
| def function3(a:"int", b:"str", c:"MyClass"): |
| pass |
| |
| |
| class UnannotatedClass: |
| pass |
| |
| def unannotated_function(a, b, c): pass |
| |
| class MyClassWithLocalAnnotations: |
| mytype = int |
| x: mytype |