https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118398
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to mauro russo from comment #6) > ok, I will also check for the confirmation from standard text. > > What about the fact that for func2, second clause is ignored after that > first one fails ? Yes && is short cutting for concepts. The second clause does not matter if the first one fails with &&. If it was || and the first clause passes, then the second part does not matter. It is the same as if you did f()&&g() g() is not executed if f() returns false right?