{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreif2szz6u7dcpy5fpwnr4bqoy2gfdvqfxteama2opje3xjalpaogpa",
"uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mhi6l35wvdd2"
},
"path": "/t/idea-borrowck-transparent-function-calls/24103#post_2",
"publishedAt": "2026-03-19T11:59:06.000Z",
"site": "https://internals.rust-lang.org",
"textContent": "Interesting.\n\nSo, we've been talking for a while about supporting structures where the borrows of different methods don't conflict, for _public_ methods. And for public methods, we need something with a well-defined interface that doesn't depend on the implementation details of the method. For that, we've talked about having a way to declare named non-overlapping subsets of the structure, where a method says explicitly which subsets it borrows. View types are one example of this.\n\nHowever, you're talking about non-public methods, and a mechanism that doesn't cross crate boundaries. For _that_ , the idea of a more automatic, less explicitly declared mechanism seems potentially reasonable. At the very least, it's worth considering.",
"title": "Idea: Borrowck Transparent Function Calls"
}