https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86282
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to rene.rahn from comment #2) > thanks for enlighten me. Before, it wasn't clear to me, that if the nested > version works, the conjunction does not necessarily. The magic "does not get instantiated when false" feature of if-constexpr only applies to the body of the else branch, not to the actual condition being tested. When you have a nested constexpr-if the some_fn(t) expression only occurs inside the body, where it's valid. If it occurs in the condition, it still gets instantiated.