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