Here is failing test case
from griffe.tests import temporary_visited_module
code = """
from dataclasses import dataclass
@dataclass
class Base:
a: int
b: str
@dataclass
class Derived1(Base):
c: float
class Derived2(Base):
d: float
"""
with temporary_visited_module(code) as module:
params1 = list(module["Derived1"].parameters)
params2 = list(module["Derived2"].parameters)
assert [p.name for p in params1] == ["a", "b", "c"]
assert [p.name for p in params2] == ["a", "b"] # failing