{
  "$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?"
}