Dos asignaciones seguidas pueden parecer un intercambio y terminar dejando ambos campos iguales. El problema se ve mejor con números pequeños que con una aplicación completa.
Supón dos enteros locales, x = 4 e y = 9. Si ejecutas primero x = y, x pasa a valer 9. Si después ejecutas y = x, y recibe ese 9: el antiguo 4 ya no está disponible en x.
La documentación de asignaciones de Solidity muestra el intercambio mediante (x, y) = (y, x) para valores apropiados. No debe trasladarse sin más a estructuras de referencia en storage, que tienen otras consideraciones.
Haz una tabla de estados
En papel, escribe una fila antes de la operación y otra después de cada asignación. Anota qué valor se lee en ese momento, no el que recuerdas del inicio. Esta pequeña disciplina evita interpretar una secuencia como si todas sus líneas ocurrieran a la vez.
El mismo ejercicio ayuda a leer ejemplos con una variable temporal: identifica dónde se conserva el valor original y cuándo deja de necesitarse.
No hace falta desplegar un contrato para entender el caso. Limita primero la pregunta a dos enteros locales, registra el compilador si pruebas código y amplía el ejemplo solo después de poder explicar cada estado intermedio.
Ilustración editorial de la biblioteca del sitio; no documenta el ejemplo ni un ensayo real.

