diff --git a/src/poetry/core/version/markers.py b/src/poetry/core/version/markers.py index ddef93703..f620f99c9 100644 --- a/src/poetry/core/version/markers.py +++ b/src/poetry/core/version/markers.py @@ -370,11 +370,14 @@ def _flatten_markers( for marker in markers: if isinstance(marker, flatten_class): - flattened += _flatten_markers( + for marker in _flatten_markers( marker.markers, # type: ignore[attr-defined] flatten_class, - ) - else: + ): + if marker not in flattened: + flattened.append(marker) + + elif marker not in flattened: flattened.append(marker) return flattened