let node = *(*((*node).borrow()))
эквивалентно:
let node = *node; // Rc implements Deref, node is now RefCell<Box<Node>>
let node = node.borrow(); // a RefCell method, node is now Ref<<'empty>, Box<Node>>
let node = *node; // Ref implements Deref, node is now Box<Node>
let node = *node; // Box implements Deref, node is now Node
Явная форма *(*((*node).borrow()))
эквивалентна неявной **node.borrow()
, поскольку (из-за приоритета оператора и) приведения с разыменованием, в результате чего Rc
автоматически разыменовывается для вызова .borrow()
для применения к тому, на что он указывает.