https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77797
--- Comment #4 from Vyacheslav <slavanap at yandex dot ru> --- Okay. Got it. Adding original error message below, so Google can lead to this bug report if that happen to someone else. prog.cc:74:125: in constexpr expansion of 'Tools::generate_array<long unsigned int, 19ul, long unsigned int (&)(long unsigned int), std::integer_sequence<long unsigned int, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul, 10ul, 11ul, 12ul, 13ul, 14ul, 15ul, 16ul, 17ul, 18ul> >((* GeneratorUInt64Power10))' prog.cc:58:48: in constexpr expansion of 'Tools::generate_array_impl<long unsigned int, 19ul, long unsigned int (&)(long unsigned int), {0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul, 10ul, 11ul, 12ul, 13ul, 14ul, 15ul, 16ul, 17ul, 18ul}>((* & f), (std::integer_sequence<long unsigned int, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul, 10ul, 11ul, 12ul, 13ul, 14ul, 15ul, 16ul, 17ul, 18ul>(), std::integer_sequence<long unsigned int, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul, 10ul, 11ul, 12ul, 13ul, 14ul, 15ul, 16ul, 17ul, 18ul>()))' prog.cc:53:17: error: expression 'GeneratorUInt64Power10' does not designate a constexpr function return { { f(I) ... } }; ^