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

--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jason Merrill <ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:88459c3965e2a2f62ab4d4c8b2ac8460b1a15c33

commit r13-332-g88459c3965e2a2f62ab4d4c8b2ac8460b1a15c33
Author: Jason Merrill <ja...@redhat.com>
Date:   Wed May 11 14:53:26 2022 -0400

    c++: lambda template in requires [PR105541]

    Since the patch for PR103408, the template parameters for the lambda in
this
    test have level 1 instead of 2, and we were treating null template args as
1
    level of arguments, so tsubst_template_parms decided it had nothing to do.
    Fixed by distinguishing between <> and no args at all, which is what we
have
    in our "substitution" in a requires-expression.

            PR c++/105541

    gcc/cp/ChangeLog:

            * cp-tree.h (TMPL_ARGS_DEPTH): 0 for null args.
            * parser.cc (cp_parser_enclosed_template_argument_list):
            Use 0-length TREE_VEC for <>.

    gcc/testsuite/ChangeLog:

            * g++.dg/cpp2a/lambda-requires1.C: New test.

Reply via email to