{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreic6uuhis4upixe6gqszjuljyeqirixs3e5lq32gqwgnmfrhj4xkzu",
    "uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mj5ecu4zl552"
  },
  "path": "/t/pre-rfc-btf-relocations/24161#post_4",
  "publishedAt": "2026-04-10T06:27:33.000Z",
  "site": "https://internals.rust-lang.org",
  "textContent": "Currently, in Rust, it is possible to replace every field access by a use of `offset` with a compile-time constant determined with `offset_of!` (except for field with a `dyn Trait` unsized tail). That's no longer true with this proposal. So this proposal is making deep changes to the foundations of the language itself, its operational semantics. This is way more than just a proposal for a bit of new syntax, and it doesn't just expand rustc implementation details like MIR, it expands the core language in a way that's relevant for unsafe code authors. The proposal needs to explain what the new operational semantics are, and how they are supposed to work in a tool like Miri.\n\nAt the very least, it seems like `offset_of!` on such fields should fail to compile. But the changes have to go deeper than that; the assumption of a fixed layout is deeply rooted everywhere in the compiler and the language.",
  "title": "[Pre-RFC] BTF relocations"
}