> I think the part where they're trying to abstract out a `content` method could be made to work by adding braces, so that the `&self` borrow goes away earlier than the end of the function.
Not in that case. It helps when dropping a borrow earlier avoids to violate the borrowing rules, like in this case:
let mut a = [0; 20];
{
let b = &mut a[2..4];
}
let c = &mut a[6..8];
In the example from the blog post, content borrows the whole struct, and you can't drop the borrow earlier since it is used in the next line.
Not in that case. It helps when dropping a borrow earlier avoids to violate the borrowing rules, like in this case:
In the example from the blog post, content borrows the whole struct, and you can't drop the borrow earlier since it is used in the next line.