mirror of https://github.com/astral-sh/ruff
retain ordering of unions and intersections
This commit is contained in:
parent
cba45acd86
commit
ad27c4cf4a
|
|
@ -520,7 +520,7 @@ impl<'db> ConstrainedTypeVar<'db> {
|
||||||
if let Type::Union(lower_union) = lower {
|
if let Type::Union(lower_union) = lower {
|
||||||
let mut result = Node::AlwaysTrue;
|
let mut result = Node::AlwaysTrue;
|
||||||
for lower_element in lower_union.elements(db) {
|
for lower_element in lower_union.elements(db) {
|
||||||
result = result.and(
|
result = result.and_with_offset(
|
||||||
db,
|
db,
|
||||||
ConstrainedTypeVar::new_node(db, typevar, *lower_element, upper),
|
ConstrainedTypeVar::new_node(db, typevar, *lower_element, upper),
|
||||||
);
|
);
|
||||||
|
|
@ -535,13 +535,13 @@ impl<'db> ConstrainedTypeVar<'db> {
|
||||||
{
|
{
|
||||||
let mut result = Node::AlwaysTrue;
|
let mut result = Node::AlwaysTrue;
|
||||||
for upper_element in upper_intersection.iter_positive(db) {
|
for upper_element in upper_intersection.iter_positive(db) {
|
||||||
result = result.and(
|
result = result.and_with_offset(
|
||||||
db,
|
db,
|
||||||
ConstrainedTypeVar::new_node(db, typevar, lower, upper_element),
|
ConstrainedTypeVar::new_node(db, typevar, lower, upper_element),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
for upper_element in upper_intersection.iter_negative(db) {
|
for upper_element in upper_intersection.iter_negative(db) {
|
||||||
result = result.and(
|
result = result.and_with_offset(
|
||||||
db,
|
db,
|
||||||
ConstrainedTypeVar::new_node(db, typevar, lower, upper_element.negate(db)),
|
ConstrainedTypeVar::new_node(db, typevar, lower, upper_element.negate(db)),
|
||||||
);
|
);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue