class A(object):
    x:int = 1

    def foo(self:"A") -> int: # OK
        return 0

    def bar() -> int: # Needs self param
        return 0

    def baz(self:int) -> int: # Incorrect self type
        return 0

A()

