{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreibvqemxu7vs6pd2h3ytbew24pycmh7ly6jaukziyqwdkvjse4pzoy",
    "uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mljcwixau7d2"
  },
  "path": "/t/interiorassign-trait-a-b/24291#post_6",
  "publishedAt": "2026-05-10T17:34:24.000Z",
  "site": "https://internals.rust-lang.org",
  "textContent": "bluelightzero:\n\n> Why would you need it for those cases? You can just a regular `=` for those.\n\nRight, but the behavior of `=` is fixed and not overloadable. Yet, overloadable assignment-like operations for a neat shorter syntax would be something that users might _want_ to use. And if we offer it _only_ for interior-mutable primitives, it’d be like _encouraging_ interior mutability onto certain APIs only for the sake of syntactic concisenes.\n\nOn the other hand, there are good reasons in favor of keeping assignment non-overloaded; ultimately that’s the only way to _really_ guarantee to all readers of Rust code that writing `=` really _is_ generally a rather _cheap_ operation.",
  "title": "InteriorAssign trait { a := b }"
}