{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreicyfimwxi5oslf6fcoc5fohpdlhwsoudwywiccbz322obkkjmsqry",
    "uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mfooxsb2d2r2"
  },
  "path": "/t/method-auto-de-ref-and-lack-of-it-in-rfc-132-ufcs/24005#post_6",
  "publishedAt": "2026-02-25T10:21:25.000Z",
  "site": "https://internals.rust-lang.org",
  "tags": [
    "Played with your example"
  ],
  "textContent": "What I was thinking is:\n\n  * The full method resolution\n  * Only recievers\n  * Probably going to require the method being qualified, or just require it's a method, but maybe not the latter, because if it's supported in unqualified paths (e.g. `use Trait::method`) it doesn't make sense in similar-looking functions (e.g. `fn foo` in my playground link)\n  * Manually enable by putting `autoref` (on second thoughts, `autoderef`? not sure of the exact syntax) before the value\n\n\n\nThat is, `<current ufcs syntax>::method(autoref x, ...)` behaves like `x.method(...)` and the only difference is method selection.\n\n* * *\n\nquinedot:\n\n> Some choices would change program semantics.\n\nPlayed with your example, you (and I, initially) seem to have made the mistake of forgetting to add `&` in `Foo::foo(var)`, making it infer `&Self = &mut String` ⇒ `Self = String`.",
  "title": "Method auto-(de)ref (and lack of it) in RFC 132 ufcs"
}