{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreifjyf7jifmc5mmcjimz6nvgyzcxyxwlr2f2znzuh2gqewxxjg3rri",
"uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mkiiikbcocc2"
},
"path": "/t/i-have-idea-for-making-rust-more-potable-by-clean-architecture/24209#post_2",
"publishedAt": "2026-04-27T15:20:19.000Z",
"site": "https://internals.rust-lang.org",
"textContent": "Pure logic doesn't necessarily work the same on every machine. I could write `assert_eq!(0x8000_0000, 0xc000_0000_usize.wrapping_add(0xc000_0000));` and have this pure logic work perfectly on the 32-bit firmware devices I write code for, but then it'll fail on the 64-bit machines most people use. And if you want to disallow `usize` values, the same thing can be done with pointers, and disallowing those would break most data structures.\n\nIf you want to make this happen, a good first step would be to figure out what exactly you consider to fit in each category, how you're going to enforce that, and how this could be implemented in a backwards-compatible way (backwards compatibility can't be broken, and also if crates using your system can't use crates that don't, then that also wouldn't work). It would also help to present examples of what crates in each of those \"layer\"s will look like.",
"title": "I have idea for making rust more potable by clean architecture"
}