Um tour por Rust Índice

O operador .

O operador . é usado para acessar campos e métodos de uma referência. Ele funciona de uma maneira mais sutil.

let f = Foo { value: 42 };
let ref_ref_ref_f = &&&f;
println!("{}", ref_ref_ref_f.value);

Uau! Por que não precisamos adicionar *** antes de ref_ref_ref_f? Isso ocorre porque o operador . desreferencia automaticamente uma sequência de referências. Essa última linha é transformada na seguinte pelo compilador automaticamente.

println!("{}", (***ref_ref_ref_f).value);