Saltar al contenido

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.

Después de let t = s, para un String, ¿qué permanece?