From ad27c4cf4a331d276e7bf411848a3032b7255b8c Mon Sep 17 00:00:00 2001 From: Douglas Creager Date: Mon, 15 Dec 2025 13:48:00 -0500 Subject: [PATCH] retain ordering of unions and intersections --- crates/ty_python_semantic/src/types/constraints.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/ty_python_semantic/src/types/constraints.rs b/crates/ty_python_semantic/src/types/constraints.rs index 2bf58f483b..3838b3026a 100644 --- a/crates/ty_python_semantic/src/types/constraints.rs +++ b/crates/ty_python_semantic/src/types/constraints.rs @@ -520,7 +520,7 @@ impl<'db> ConstrainedTypeVar<'db> { if let Type::Union(lower_union) = lower { let mut result = Node::AlwaysTrue; for lower_element in lower_union.elements(db) { - result = result.and( + result = result.and_with_offset( db, ConstrainedTypeVar::new_node(db, typevar, *lower_element, upper), ); @@ -535,13 +535,13 @@ impl<'db> ConstrainedTypeVar<'db> { { let mut result = Node::AlwaysTrue; for upper_element in upper_intersection.iter_positive(db) { - result = result.and( + result = result.and_with_offset( db, ConstrainedTypeVar::new_node(db, typevar, lower, upper_element), ); } for upper_element in upper_intersection.iter_negative(db) { - result = result.and( + result = result.and_with_offset( db, ConstrainedTypeVar::new_node(db, typevar, lower, upper_element.negate(db)), );