diff --git a/crates/pep508-rs/src/marker.rs b/crates/pep508-rs/src/marker.rs index 8ffa28015773..06a166ba08c9 100644 --- a/crates/pep508-rs/src/marker.rs +++ b/crates/pep508-rs/src/marker.rs @@ -1860,7 +1860,11 @@ impl MarkerTree { _ => {} } if let MarkerTree::And(ref mut exprs) = *self { - exprs.push(tree); + if let MarkerTree::And(tree) = tree { + exprs.extend(tree); + } else { + exprs.push(tree); + } } } @@ -1878,7 +1882,11 @@ impl MarkerTree { _ => {} } if let MarkerTree::Or(ref mut exprs) = *self { - exprs.push(tree); + if let MarkerTree::Or(tree) = tree { + exprs.extend(tree); + } else { + exprs.push(tree); + } } } }