from __future__ import annotations

class B:
    def f(self, a: A) -> None:
        #          <ref>
        pass

class A:
    pass