(🎁) `final` class without a `__bool__` or `__len__` method can never test false
This clashes with truthy-bool error code, which assumes that subtypes won't implement these methods.
from typing import final @final class A: b: int if A(): print("hi") # no unreachable error print(A() and "hi")
Any instance of A will never have a __bool__ or __len__, method so these condition will always test true.
More real life scenario:
from typing import final @final class A: b: int a: A | None r1: int | None = a.b if a else None r2: int | None = a and a.b # error: Incompatible types in assignment (expression has type "Union[A, None, int]", variable has type "Optional[int]")