Closed
Description
When creating a bound method object in statically typed code, the type checker should complain if the type of the method self argument is not compatible with the receiver. For example, this should be an error:
class A:
def f(o: int) -> None: pass
A().f # receiver is A, self is int: not compatible
The issue #16 is related.