Hi Simon,
could you shortly explain the possible bug in the example given?
To get the boundaries of size-1 and the >=0 correct or to avoid unsigned integer underflow?
auto leads to unsigned and size is 0?
-----Ursprüngliche Nachricht-----
Von: Simon Schröder via Std-Proposals <std-proposals@lists.isocpp.org>
Gesendet: Fr 14.02.2025 06:52
Betreff: Re: [std-proposals] for-loops revision (simplification and new syntax)
An: std-proposals@lists.isocpp.org;
CC: Simon Schröder <dr.simon.schroeder@gmail.com>;
Some of the discussion now steered towards: “Is a new loop syntax useful?”I would prefer a syntax that leverages the existing range syntax (something similar to Rust or Swift). There is probably one case where such a new syntax would help avoid bugs:for(std::size_t i = vec.size()-1; i >= 0; --i) …i.e. counting down a loop with an unsigned integer. This might be obfuscated a little more if one uses ‘auto’ to declare the loop counter. With a new syntax (that also allows to specify the step size and the step size can be negative) the implementation would hopefully fix this edge case.On Feb 13, 2025, at 10:15 PM, Sebastian Wittmeier via Std-Proposals <std-proposals@lists.isocpp.org> wrote:One should add that the else branch is not run in Python, when the loop has been left with a corresponding break instruction.
-----Ursprüngliche Nachricht-------
Von: Magnus Fromreide via Std-Proposals <std-proposals@lists.isocpp.org>
If we are talking of loop Pythonisms then a loop else branch does add some
value as that case often is a bit contrieved to test for. (The else branch
of a loop is executed when the loop condition fails to run the loop more
times)
Std-Proposals mailing list
Std-Proposals@lists.isocpp.org
https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals-- Std-Proposals mailing list Std-Proposals@lists.isocpp.org https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals