// PR c++/66091 // { dg-do compile { target c++17 } } // { dg-additional-options "-fconcepts" } template concept C1 = requires() { typename T::type1; }; template concept C2 = C1 && requires() { typename T::type2; }; template struct S { S& operator++() { return *this; } S& operator++() requires (C2) { return *this; } };