Path 1: 1 calls (0.5)

list (1)

Name (1)

True (1)

1def _has_same_layout_slots(
2    slots: list[nodes.Const | None], assigned_value: nodes.Name
3) -> bool:
4    inferred = next(assigned_value.infer())
5    if isinstance(inferred, nodes.ClassDef):
6        other_slots = inferred.slots()
7        if all(
8            first_slot and second_slot and first_slot.value == second_slot.value
9            for (first_slot, second_slot) in zip_longest(slots, other_slots)
10        ):
11            return True
12    return False
            

Path 2: 1 calls (0.5)

[] (1)

Name (1)

False (1)

GeneratorExit (1)

1def _has_same_layout_slots(
2    slots: list[nodes.Const | None], assigned_value: nodes.Name
3) -> bool:
4    inferred = next(assigned_value.infer())
5    if isinstance(inferred, nodes.ClassDef):
6        other_slots = inferred.slots()
7        if all(
8            first_slot and second_slot and first_slot.value == second_slot.value
9            for (first_slot, second_slot) in zip_longest(slots, other_slots)
10        ):
11            return True
12    return False