File tree Expand file tree Collapse file tree 2 files changed +28
-1
lines changed
Expand file tree Collapse file tree 2 files changed +28
-1
lines changed Original file line number Diff line number Diff line change @@ -1566,6 +1566,7 @@ def parameters(self) -> Parameters:
15661566 * [
15671567 Parameter (attr .name , annotation = attr .annotation , default = attr .value )
15681568 for attr in self .attributes .values ()
1569+ if "property" not in attr .labels
15691570 ],
15701571 )
15711572 return Parameters ()
Original file line number Diff line number Diff line change 77import griffe
88from griffe .dataclasses import Docstring , Module
99from griffe .loader import GriffeLoader
10- from griffe .tests import module_vtree , temporary_pypackage
10+ from griffe .tests import module_vtree , temporary_pypackage , temporary_visited_module
1111
1212
1313def test_submodule_exports () -> None :
@@ -86,3 +86,29 @@ def test_alias_proxies() -> None:
8686 for name in cls .all_members :
8787 if not name .startswith ("_" ) or name .startswith ("__" ):
8888 assert name in alias_members
89+
90+
91+ def test_dataclass_parameters () -> None :
92+ """Don't return properties as parameters of dataclasses."""
93+ with temporary_visited_module (
94+ """
95+ from dataclasses import dataclass
96+ from functools import cached_property
97+
98+ @dataclass
99+ class Point:
100+ x: float
101+ y: float
102+
103+ @property
104+ def a(self):
105+ return 0
106+
107+ @cached_property
108+ def b(self):
109+ return 0
110+ """ ,
111+ ) as module :
112+ params = module ["Point" ].parameters
113+ assert "a" not in params
114+ assert "b" not in params
You can’t perform that action at this time.
0 commit comments