Closed
Description
Motivation:
#include <boost/hana/type.hpp>
template<class> requires(true) using U = int;
auto t = boost::hana::template_<U>(boost::hana::type_c<char>);
Reduced:
template<class> requires(true) using U = int;
template<template<typename ...> class, class> struct S {};
template<class T> S<U, T> f();
auto t = f<int>();
compiled with -frelaxed-template-template-args
gives:
<source>:2:31: error: pack expansion used as argument for non-pack parameter of alias template
template<template<typename ...> class, class> struct S {};
(we need -frelaxed-template-template-args
for other reasons)
Workaround: use std::enable_if_t
to constrain alias template instead.