https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104111
--- Comment #11 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Along the lines of comment #3, here's another example that would "misbehave" if
we were to make concept-id evaluation context-independent:
template<class T> requires C<T> || D<T>
void f() {
if constexpr (C<T>) // potentially IFNDR if evaluation of C<T>
// depends on access context of f (though
// in practice we'll just reuse the cached
// value obtained earlier during satisfaction
// with the right access context)
...
else
...
}