5 ms·
Short circuiting introduces conditional branching. If you call a function on the right hand side of a || or && it might or might not be executed depending on th
by phire 6y ago
Short circuiting introduces conditional branching. If you call a function on the right hand side of a || or && it might or might not be executed depending on the value of the left hand side.
Until this version of rust, all conditional branches were banned from const functions.
I guess to keep things simple they just banned any feature that might cause branching.
- marricks 6y agoAhh that makes a lot of sense, if you're going to have a compiler insert the result of a function having conditional branching seems a bit gnarly I guess?
- marton78 6y agoWhy is branching a problem? Since `if` is now enabled in a const fn, it's trivial to rewrite && with & and if.
- kibwen 6y ago`if` wasn't enabled before, so `&&` wasn't enabled. Now that `if` is enabled, `&&` now works too.