{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreiht66vgirnzovqhkr2xnsqpltdsyoqqjhue3dkiagybwkukejrdd4",
    "uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mns6pn2oxkg2"
  },
  "path": "/t/infinite-precision-intermediate-arithmetic-how-much-would-break/24383#post_5",
  "publishedAt": "2026-06-08T16:42:32.000Z",
  "site": "https://internals.rust-lang.org",
  "textContent": "The first problem is performance. Widening integer operations to i/u128 makes them way more expensive; widening float operations to ℝ will require _extremely costly_ software calculations.\n\nThe second problem is that this is silently breaking a lot of code and there is basically no way to estimate the breakage; this is the worst kind of breakage.\n\nBut the worst of all is that C has shown that promotion rules are deeply unintuitive and confusing, and the vast majority of developers never understand them well. The current \"no implicit conversions\" policy is a very good idea even if it sometimes costs in extra characters. Performing implicit _widening_ conversions is bad but acceptable; performing implicit _narrowing_ conversions, like you suggest here, is a terrible idea.",
  "title": "Infinite precision intermediate arithmetic: how much would break?"
}