{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreidgocrldbftftyzs2oznex76kwlqhlz2c7ljgyzzrwur3djxkgg3q",
"uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mhc3khqh42j2"
},
"path": "/t/introduce-a-way-to-construct-range-from-start-length/24073?page=2#post_31",
"publishedAt": "2026-03-17T21:29:26.000Z",
"site": "https://internals.rust-lang.org",
"textContent": "yaksher:\n\n> If `a ..+ b` was implemented as syntax sugar for `a .. (a + b)`\n\nIt can't be exactly this, because people will expect `a` to be evaluated only once. It has to be something like `{ let $temp = a; $temp .. ($temp + b) }` instead, and that runs us into the issues discussed up above with what happens when `a` isn't `Copy`.\n\nPersonally I'd be fine with a requirement for `a` to be `Copy` though. My reaction to the \"what about `\"a\"..\"z\"`?\" example up above is \"I really _don't_ want people spelling that `\"a\" ..+ 26`\" (not least because they probably should have written `\"a\" ..+ 25`, but +26 is the one that _looks_ right if someone's not reading carefully).",
"title": "Introduce a way to construct Range from start + length"
}