{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreigz6w4ellrofkthh7yi3mgxrbjenvg7qgcszocxpjecye6zlsy6oy",
    "uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mj5kynl42ri2"
  },
  "path": "/t/pre-rfc-btf-relocations/24161#post_10",
  "publishedAt": "2026-04-10T13:59:55.000Z",
  "site": "https://internals.rust-lang.org",
  "tags": [
    "Swift stable ABI"
  ],
  "textContent": "A few questions:\n\n  * Can a relocation affect whether two fields overlap (e.g. if a `struct` changes to a `union`)?\n  * Can a relocation change an array index?\n  * Can a relocation affect the number of pointer dereferences necessary to access a field?\n  * Is it ever possible to construct one of these structs? Or does the potential for additional fields Rust doesn't know about mean construction must be forbidden?\n  * Do we need an analogue of `#[link_name]` for struct and field names?\n  * What is the failure mode like? If you make a mistake or run on an unsupported kernel version, and the relocations aren't sufficient to make offets or types line up, is the verifier guaranteed to reject the program?\n  * Is there any connection to/similarity with Swift stable ABI?\n\n",
  "title": "[Pre-RFC] BTF relocations"
}