Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> 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.


Right, you'd have to split up the following line so that `sum` is computed inside the block but assigned after it.




Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: