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

--- Comment #9 from David Hunter <davidhunter22 at gmail dot com> ---
(In reply to Patrick Palka from comment #8)
> Started with r14-9938, though I bet before this commit it only accidentally
> worked.
> 
> A workaround is to use an intermediate variable template:
> 
> template <typename T, template <typename...> typename U>
> inline constexpr bool is_specialization_of_v =
> std::invocable<decltype([]<typename... Args>( U<Args...> const& ) { }),T>;
> 
> template <typename T, template <typename...> typename U>
> concept is_specialization_of = is_specialization_of_v<T, U>;

Thanks, I did get it to work with this.
Oddly the above fails on MSVC, the static_assert fails. Works on Clang though.

Reply via email to