Modelo por capas
Valor, dueño y préstamo
Observa tres planos separados:
| Plano | Antes del movimiento | Después de let t = s |
|---|---|---|
| Recurso | Un buffer con mapa |
El mismo buffer |
| Dueño | s |
t |
Permiso para usar s |
Válido | Consumido por el movimiento |
Una referencia como &s permite observar el valor sin adquirir su responsabilidad de liberación. El dueño sigue existiendo. El préstamo tiene que dejar de usarse antes de una operación que lo invalidaría.
La dirección del buffer no es la regla de ownership: el compilador razona sobre valores y permisos. Un movimiento no promete que toda dirección permanezca estable para cualquier tipo.