Copiar / mover documentação semântica dos próprios tipos & T / & mut T
Estou procurando o documento sobre copiar / mover semântica de referência e tipos de referência mutáveis.
O seguinte trecho de código mostra referências imutáveis (& T
) implementar oCopy
traço e referências mutáveis (&mut T
) não.
struct T;
fn copyable<U>(_: U) where U: Copy {}
fn main() {
let a = &T;
copyable(a); // OK
let b = &mut T;
copyable(b);
// error: the trait `core::marker::Copy` is not implemented for the type `&mut T`
}
Mas não consigo encontrar a descrição desse comportamento. Alguém conhece alguns documentos (des) oficiais? (ou eu estou errado?)