by Anonymous » 26 Aug 2025, 11:41
Code-Snippet: < /p>
Code: Select all
from typing import Any
class MyClass:
pass
def f(o: Any) -> None:
if isinstance(o, type) and issubclass(o, MyClass):
reveal_type(o) # Revealed type is "Type[MyClass]"
if issubclass(o, MyClass):
reveal_type(o) # Revealed type is "Any"
Ist es ein Fehler in MyPy oder gibt es einen Grund, warum das zweite Beispiel nicht erwartet wird?
Code-Snippet: < /p>
[code]from typing import Any
class MyClass:
pass
def f(o: Any) -> None:
if isinstance(o, type) and issubclass(o, MyClass):
reveal_type(o) # Revealed type is "Type[MyClass]"
if issubclass(o, MyClass):
reveal_type(o) # Revealed type is "Any"
[/code]
Ist es ein Fehler in MyPy oder gibt es einen Grund, warum das zweite Beispiel nicht erwartet wird?