https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81507
--- Comment #2 from Benjamin Buch <benni.buch at gmail dot com> --- Same with clang, and I found the reason: Since the first argument is std::vector, the function std::apply is called instead of my apply function … So it's not a bug. But maybe you can add some kind hint for such errors in the compiler frontend.