https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93155
--- Comment #2 from Tobias Loew <tobias.loew at steag dot com> ---
// here is a minimal example (extracted from boost/mp11/function.hpp)
template<class T>
struct s{};
template<class... T> struct mp_similar_impl;
template<class T> struct mp_similar_impl<T, T>
{
using type = int;
};
// commenting the following specialization removes the error
template<template<class...> class L, class... T1, class... T2> struct
mp_similar_impl<L<T1...>, L<T2...>>
{
using type = int;
};
int main(){
mp_similar_impl<s<int>, s<int>>::type v;
}