Turul limbajului Rust Cuprins

Operatorul `.`

Operatorul . este folosit pentru a accesa câmpurile și metodele unei referințe. Acesta funcționează într-un mod ceva mai subtil.

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

Whoa, de ce nu a trebuit să adaugăm *** înainte de ref_ref_ref_f? Pentru că operatorul . dereferențiază automat o secvență de referințe. Ultima linie de cod este transformată de către compilator astfel:

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