عملگر . برای دسترسی به فیلدها و متدهای یه رفرنس استفاده میشه. یهکم ظریفتر عمل میکنه.
let f = Foo { value: 42 };
let ref_ref_ref_f = &&&f;
println!("{}", ref_ref_ref_f.value);
وای، چرا لازم نبود قبل از ref_ref_ref_f سهتا * بذاریم؟ به این خاطره که عملگر . بهطور خودکار یه زنجیره از رفرنسها رو دیرفرنس میکنه. اون خط آخر رو کامپایلر بهطور خودکار به این شکل تبدیل میکنه:
println!("{}", (***ref_ref_ref_f).value);