diff --git a/tests/samples/isinstance_impl.py b/tests/samples/isinstance_impl.py new file mode 100644 index 0000000..242744d --- /dev/null +++ b/tests/samples/isinstance_impl.py @@ -0,0 +1,29 @@ +from typing import Optional +from zope.interface import implementer, Interface + + +class IFoo(Interface): + ... + + +@implementer(IFoo) +class MyFoo: + ... + + +def make_foo() -> Optional[IFoo]: + return MyFoo() + + +x = make_foo() +reveal_type(x) +assert isinstance(x, MyFoo) + +# The code below should not be considered unreachable +print("hello") + +""" + +isinstance_impl.py:19: note: Revealed type is "Union[__main__.IFoo, None]" + +"""