{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreihwqxgw7omcxgbhdr3bdtofgzyuoppzn4qlfpsgolxzgliywo4gsa",
"uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mnwmkdbcgam2"
},
"path": "/t/infinite-precision-intermediate-arithmetic-how-much-would-break/24383?page=2#post_23",
"publishedAt": "2026-06-10T11:17:00.000Z",
"site": "https://internals.rust-lang.org",
"textContent": "chrefr:\n\n> C has shown that promotion rules are deeply unintuitive and confusing\n\nC has shown that **C's** promotion rules are confusing.\n\nC is uniquely bad at this with footguns like mixing ints and floats causing silent truncation, vaguely defined platform-specific sizes, changing unsigned to signed with potential UB on top. These are unforced errors that C has, but aren't inherent to the problem space.\n\nI don't support the particular proposal in this thread, but I want to push back against using C as an example, because it leads to wrong conclusions.\n\nSimilarly, C++ has shown that references are dangerous, closures are full of footguns, smart pointers have unavoidable overheads, and yet we have robust versions of these things in Rust.",
"title": "Infinite precision intermediate arithmetic: how much would break?"
}