{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreiecgvtkjl4hv3tkhoadqd6pbcrcmusjocdhscxrsloinyef5iec2u",
    "uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mn5y4dxo7k22"
  },
  "path": "/t/include-racy-reads-in-rust-memory-model-with-maybeinvalid-t/24289?page=2#post_38",
  "publishedAt": "2026-05-31T15:20:37.000Z",
  "site": "https://internals.rust-lang.org",
  "textContent": "RalfJung:\n\n> Oh it definitely is.\n\nFor it we would need to formally prove equivalence between the told \"story\" and the respective `asm!` block. Without it we are still in the realm of hand-waving.\n\nRalfJung:\n\n> I am sure I can come up with counterexamples\n\nYou should've started with it without assuming my dismissal. A good counter-example can eliminate a lot of unnecessary back-and-forth discussions (like `MADV_FREE` in the context of uninitialized memory).\n\nRalfJung:\n\n> consider those accesses to be relaxed bytewise atomic\n\n~~Great, now you potentially break CPU soundness requirements (at least on Intel) which forbid simultaneous differently sized atomic operations on the same memory. This restriction may apply only to synchronizing atomic operations, IIRC the Intel manual was somewhat vague in this regard and Linux just ignores it, but still.~~\n\nUDP: Ah, you mean that both reads and writes should be bytwise atomic.",
  "title": "Include racy reads in Rust memory model with `MaybeInvalid<T>`"
}