blob: 0c39dd90e69401288b773470ccdca445e1de5d21 [file] [log] [blame]
// PR c++/66427
// { dg-do compile { target c++14 } }
template<typename T>
struct complex {};
struct plus {};
struct multiplies {};
template<typename T, typename Op>
constexpr T identity_element;
template<>
constexpr int identity_element<int, plus> = 0;
template<typename T>
constexpr complex<T> identity_element<complex<T>, plus> = {
identity_element<T, plus>,
identity_element<T, plus>
};