Remix.run Logo
Thaxll 5 days ago

Rust does have loop counter overflow.

jason_oster 5 days ago | parent | next [-]

This is irrelevant on 64-bit platforms [^1] [^2]. For platforms with smaller `usize`, enable overflow-checks in your release builds.

[^1]: https://www.reddit.com/r/ProgrammerTIL/comments/4tspsn/c_it_...

[^2]: https://stackoverflow.com/questions/69375375/is-it-safe-to-a...

swiftcoder 5 days ago | parent | prev [-]

Theoretically you can construct a loop counter that overflows, but I don't that there is any reasonable way to do it accidentally?

Within safe rust you would likely need to be using an explicit .wrapping_add() on your counter, and explicitly constructing a for loop that wasn't range-based...

tekne 5 days ago | parent [-]

Well, in debug mode yes, but in release mode overflow is wrapping by default unless you explicitly set a flag to make it panic.