{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreib6c5dpfxkteh6fpw7rctk3pdthgy3xjeem4465nw234dpmmyvnyq",
"uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mpruuzowdxe2"
},
"path": "/t/language-vision-regarding-safety-guarantees/24418?page=3#post_49",
"publishedAt": "2026-07-03T23:11:16.000Z",
"site": "https://internals.rust-lang.org",
"textContent": "tczajka:\n\n> There is no separate \"safety contract\", and there is no need for one.\n\nThen what are safety requirements if not (a part of) a safety contract? They obviously differ from logic requirements otherwise all functions would be unsafe, so they obviously are not (part of) the logic contract.\n\nMaybe you don't make a distinction because you don't write logic bugs, in which case the safety contract is indeed useless. But Rust (contrary to C) is supposed to let people write logic bugs without causing undefined behavior in their dependencies. And the topic of this thread is to figure out if Rust is supposed to let people write logic bugs without causing undefined behavior outside their unit of implementation (so both in their dependencies and in their clients).",
"title": "Language vision regarding safety guarantees"
}