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

--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Patrick Palka
<ppa...@gcc.gnu.org>:

https://gcc.gnu.org/g:40912c25b57b4e21aae20a4896624387aa13f7ed

commit r10-8223-g40912c25b57b4e21aae20a4896624387aa13f7ed
Author: Patrick Palka <ppa...@redhat.com>
Date:   Mon Jun 1 21:37:04 2020 -0400

    c++: constrained lambda inside template [PR92633]

    When regenerating a constrained lambda during instantiation of an
    enclosing template, we are forgetting to substitute into the lambda's
    constraints.  Fix this by substituting through the constraints during
    tsubst_lambda_expr.

    gcc/cp/ChangeLog:

            PR c++/92633
            PR c++/92838
            * pt.c (tsubst_function_decl): Don't do set_constraints when
            regenerating a lambda.
            (tsubst_lambda_expr): Substitute into the lambda's constraints
            and do set_constraints here.

    gcc/testsuite/ChangeLog:

            PR c++/92633
            PR c++/92838
            * g++.dg/cpp2a/concepts-lambda11.C: New test.
            * g++.dg/cpp2a/concepts-lambda12.C: New test.

    (cherry picked from commit c2449995ca36ea955e3c6d4ee7f0d401b512c897)

Reply via email to