https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82019
--- Comment #2 from Antony Polukhin <antoshkka at gmail dot com> ---
Updated version of the test (works well on GCC 10):
// { dg-options "-std=c++2a" }
template <class T, class Data>
concept VectorOperations = requires(T& v, const Data& data) {
v += data;
requires __is_same_as(T&, decltype(v += data));
};
template <class Container, class Data>
requires VectorOperations<Container, Data>
void compute_vector_optimal(Container& , const Data& ) {}
int main() {
unsigned v1[] = {1,2,3};
compute_vector_optimal(v1, v1); // { dg-error "cannot call function" }
}