view gcc/testsuite/g++.dg/cpp2a/concepts-pr88395.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 1830386684a0
children
line wrap: on
line source

// { dg-do compile { target c++2a } }

template <class T, class U>
concept Concept2 = requires (T t, U u)
{
    t += u; // { dg-error "template instantiation depth" }
};

template <class T>
concept Concept = Concept2 <T, T>;

struct S
{
    template <Concept T>
    constexpr S& operator += (T o);
};

constexpr S operator * (S a, S b)
{
    return a += b;
}

// { dg-prune-output "compilation terminated" }