{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreif2szz6u7dcpy5fpwnr4bqoy2gfdvqfxteama2opje3xjalpaogpa",
    "uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mhhkgqpgcja2"
  },
  "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"
}