https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117887
Marek Polacek <mpolacek at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mpolacek at gcc dot gnu.org --- Comment #15 from Marek Polacek <mpolacek at gcc dot gnu.org> --- Cleaned-up test: ``` // PR c++/117887 template<bool, typename> struct S1 { }; template<typename> struct S2 { }; template <typename T> struct S3 { template <typename U> using type1 = S1<requires { typename T::foo; }, U>; static int func1() { S2<type1<const char*>> t; return 42; } }; auto t = S3<int>::func1(); ``` Seems like tsubst_requires_expr should go the partial substitution way here. The extra args use a template parameter but tf_partial isn't set here.