{
"$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 }"
}