{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreieyh7wigjxndpgdijcguusuelckj3l72jc3hvllv74a6drvaczxwm",
    "uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mjh4cs6fgve2"
  },
  "path": "/t/pre-rfc-btf-relocations/24161#post_15",
  "publishedAt": "2026-04-13T21:31:45.000Z",
  "site": "https://internals.rust-lang.org",
  "textContent": "comex:\n\n> The innovation would be having a type be `!Sized` but still allowing struct field access on it. You still need to work out the proper operational semantics for that, but that seems reasonably orthogonal to the `Sized` hierarchy.\n\nI think the opsem here is to have what is in effect a global variable (`static` used like a `const`) that stores the offset of a particular field, for field projection to be implemented by pointer arithmetic using the offset from the global variable, and for other field accesses to be implemented in terms of field projection. One advantage of doing things this way is that it should desugar pretty easily into MIR or even surface Rust, so the opsem aspects would be confined to stating/implementing the lowering rather than needing to add new opsem rules.",
  "title": "[Pre-RFC] BTF relocations"
}