hmwillson · GitHub

Bug report

Bug description:

from warnings import deprecated
from typing import Protocol
class FooProtocol(Protocol):
    pass
class Base:
    pass
@deprecated("")
class DeprecatedBase:
    pass
class FooWithBase(Base, FooProtocol):
    pass
class FooWithDeprecatedBase(DeprecatedBase, FooProtocol):
    pass
assert FooWithBase._is_protocol is False
assert FooWithDeprecatedBase._is_protocol is True

CPython versions tested on:

3.13

Operating systems tested on:

macOS

Linked PRs

Read the original on github.com ↗