[Bug c++/68372] [concepts] invalid use of pack expansion expression in member function template declaration

wilhelm.meier@hs-kl.de gcc-bugzilla@gcc.gnu.org
Tue May 16 07:21:00 GMT 2017


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68372

--- Comment #3 from wilhelm.meier@hs-kl.de ---
This ICE still exists in:
g++ (GCC) 8.0.0 20170515 (experimental)

Here is another minimal example:

template<typename F>
concept bool FCallable() {
    return requires(F) {
        F::f();
    };
}
class Test1 {
public:
    template<FCallable P, FCallable... Pp> // internal error of g++
    static void g() {
        (Pp::f(), ...);
    }
};
class A {
public:
    static void f() {}
};
int main() {
    Test1::template g<A>();
}


More information about the Gcc-bugs mailing list